2

У меня есть скрипт bash, который просматривает мою музыкальную коллекцию и загружает недостающие обложки. Проблема в том, что я не могу перейти к некоторым каталогам, в которых есть '&' '(' и другим символам.

Соответствующая часть сценария скопирована ниже:

IFS="\n"
IFS="$(printf '\n\t')"
for i in `find $1 -mindepth 2 -maxdepth 2 -type d '!' -exec sh -c 'ls -1 "{}"|egrep -i -q "^cover\.(jpg|png)$"' ';' -print`; do
        echo "===="
        echo "processing: " $i
        cd "${i}"
        #download_cover $i
        echo "++++"
done

Если я запускаю этот скрипт для этих каталогов, я получаю следующий вывод:

cd 'media/FlacMusic/Mumford & Sons/Sigh No More'
devel/get_album_cover.sh: line 22: cd: media/FlacMusic/Mumford & Sons/Sigh No More: No such file or directory

1 ответ1

0

Это решение ОП. Он был опубликован в качестве редактирования вопроса, вместо этого должен быть ответ.

Я снял фигурные скобки вокруг переменной, и скрипт работает отлично.

cd "$i"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .