Как обрабатывать пробелы в именах файлов, используя двойные кавычки в скрипте Bash
На нашем сервере Debian запущен скрипт, который захватывает имена файлов в каталоге и передает их нашему API. Это работает нормально, когда имена файлов не имеют пробелов. Обычный ответ на этот вопрос: использовать двойные кавычки вокруг имени переменной.
Однако я не могу найти аккуратное, краткое и окончательное решение для нашего конкретного случая - код ниже. Хотяэтот ответ предлагает изменить разделитель из космоса в\n
Я предпочел бы получить метод двойной кавычки прямо в нашем существующем коде.
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