Como lidar com espaços em nomes de arquivos usando aspas duplas em um script Bash
Temos um script em execução em nosso servidor Debian que captura nomes de arquivos em um diretório e os envia à nossa API. Ele funciona bem quando os nomes de arquivos não têm espaços. A resposta usual para esse problema comum é usar aspas duplas ao redor do nome da variável.
No entanto, não consigo encontrar uma solução organizada, breve e definitiva para o nosso caso particular - código abaixo. Apesaresta resposta sugere alterar o separador do espaço para\n
, Prefiro usar o método de aspas duplas no código existente.
files=("$(ls $directory)") #$directory has the files we want to loop through
if [ ${#files[@]} -gt 0 ]; then
getToken
for i in $files
do
echo "$i"
uploadFiles "$i"
done
exit
else
echo "No files to upload"
exit
fi