Esta é a solução do OP. Foi postado como uma edição para a pergunta, deve ser uma resposta.
I took out the braces around the variable and the script runs just fine.
cd "$i"
Eu tenho um script bash que passa pela minha coleção de músicas e faz o download de capas ausentes. O problema que tenho é que não consigo fazer o cd para alguns diretórios que tem '&' '(' e outros personagens.
A parte relevante do script é copiada abaixo:
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
Se eu executar este script para esses diretórios, recebo esta saída:
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
Esta é a solução do OP. Foi postado como uma edição para a pergunta, deve ser uma resposta.
I took out the braces around the variable and the script runs just fine.
cd "$i"