как решить синтаксическую ошибку около неожиданного маркера' ('

У меня есть сценарий ab_script.sh с одним линейным кодом

mv !(hd) "/mediafolder/sd/${PWD##*/}"

при запущении скрипта в папке user@debianpc:/mediafolder/sd/01051 dance$ Я добрался

syntax error near unexpected token `('

Если я копирую эту строку в терминале и выполняю ее как команду, каждая вещь хорошо работает.

2
задан 19 April 2020 в 01:34

1 ответ

!(hd) расширенный шарик - Вы, вероятно, расширились, globbing включил по умолчанию в Вашей интерактивной оболочке, но должен будет включить ей явно использование shopt -s extglob в сценарии. Вы могли бы также хотеть рассмотреть использование -t TARGET форма mv команда:

#!/bin/bash

shopt -s extglob

mv -t "/mediafolder/sd/${PWD##*/}" -- !(hd)
3
ответ дан 25 April 2020 в 10:45

Другие вопросы по тегам:

Похожие вопросы: