#zsh #glob
#zsh #glob
Вопрос:
В zsh
командной строке я могу заставить это работать по желанию:
cp some_dir/!(0*).jpg dest_dir/
и он скопирует все файлы, которые не начинаются с 0
to dest_dir
.
Но когда я пытаюсь использовать то же самое из zsh
скрипта, я получаю следующую ошибку:
no matches found: some_dir/!(0*).jpg
В чем здесь проблема и как ее решить?
Ответ №1:
Для этой функции требуется установить параметр оболочки KSH_GLOB
:
setopt kshglob
Смотрите руководство по ZSH по ksh-подобным операторам Glob для получения дополнительной информации.
В качестве альтернативы, можно установить опцию EXTENDED_GLOB
и использовать ^
для отрицания (частичных) шаблонов:
setopt extendedglob
cp some_dir/(^0*).jpg dest_dir/