У меня есть сценарий ab_script.sh с одним линейным кодом
mv !(hd) "/mediafolder/sd/${PWD##*/}"
при запущении скрипта в папке user@debianpc:/mediafolder/sd/01051 dance$
Я добрался
syntax error near unexpected token `('
Если я копирую эту строку в терминале и выполняю ее как команду, каждая вещь хорошо работает.
!(hd)
расширенный шарик - Вы, вероятно, расширились, globbing включил по умолчанию в Вашей интерактивной оболочке, но должен будет включить ей явно использование shopt -s extglob
в сценарии. Вы могли бы также хотеть рассмотреть использование -t TARGET
форма mv
команда:
#!/bin/bash
shopt -s extglob
mv -t "/mediafolder/sd/${PWD##*/}" -- !(hd)