E isso? Eu não sei porque você tem que iterar cada arquivo e porque você não pode simplesmente copiar o lote ... Mas isso deve funcionar um pouco melhor do que analisando a saída de ls
.
for usb_key in /media/*;
do
cp -Ra /home/daniele/USB/MASTER/* $usb_key
umount /media/$usb_key
done;
#alert me that the work is done
totem /home/daniele/USB/0016.mp3 &
exit
Apenas para explicar o que está acontecendo, para quebras em todos os espaços ao analisar a entrada externa (como era com seu código). Você pode ver isso em operação, indo para um diretório com arquivos espaçados e em execução:
for file in 'ls -1'; do echo $file; done
No meu diretório de TV, vejo a saída como:
The
Big
Bang
Theory
The
Cleveland
Show
The
Acho que existe uma maneira de alterar as seqüências de quebra, mas é mais fácil usar a sintaxe nativa de localização de arquivos do bash. Ou use find ... -exec ...
, que é muito poderoso em si.