Я пишу скрипт следующим образом:Баш сценариев копирование всех файлов в папке
for file in `ls`
do
mkdir "$file"_folder
cp $file "$file"_folder
done
То, что я хочу сделать, это сделать папку для каждого файла в текущем каталоге с его именем, а затем подчеркнуть в качестве имени, а затем скопируйте в него этот файл. Моя проблема в том, что имена файлов содержат пробелы. Как я могу избежать их? Есть много ресурсов, объясняющих, как это сделать для переменных, но ни одно из них не может быть применено к этой ситуации, когда я использую цикл for для получения имен.
Проблема в том, что вы используете вывод 'ls' для управления циклом. Ваше цитирование внутри цикла идеально. – tripleee
К сожалению, не совсем совершенный; как отмечено в одном из ответов, вам следует дважды указывать все переменные интерполяции (по крайней мере, пока вы не узнаете, при каких обстоятельствах не стоит цитировать). – tripleee