Я хочу выполнить операцию со всеми файлами в определенной папке, которые не начинаются с определенного префикса (скажем, exclude_
). У меня есть цикл for
bash с расширенным глобусом, который выглядит следующим образом:
for FILE in foo/bar/!(exclude_*) ; do echo $FILE ; done
В командной строке это работает нормально:
$ for FILE in foo/bar/!(exclude_*) ; do echo $FILE ; done
foo/bar/apple
foo/bar/pear
foo/bar/banana
Но когда я использую его в make-файле:
target:
for FILE in foo/bar/!(exclude_*) ; do echo $$FILE ; done
Я получаю следующую ошибку:
$ make
for FILE in foo/bar/!(exclude_*) ; do echo $FILE ; done
/bin/sh: -c: line 0: syntax error near unexpected token `('
/bin/sh: -c: line 0: `for FILE in foo/bar/!(exclude_*) ; do echo $FILE ; done'
Есть ли какие-то необходимые побеги, которые я пропустил?