Я пытаюсь использовать имена файлов, загруженные из каталога.
Это работает нормально, но если имя файла содержит пробелы, оно не работает.
Я продемонстрирую:
Допустим, вы в папке scriptExample
с тремя именами файлов dummy file one
, dummy file two
, dummy file three
.
Мои сценарии выполняют простую команду cat
для каждого файла
#!/bin/bash
for i in *
do
cat $i
done
Однако, когда вы запустите это, вы получите:
cat: dummy: No such file or directory
cat: file: No such file or directory
cat: one: No such file or directory
cat: dummy: No such file or directory
cat: file: No such file or directory
cat: three: No such file or directory
cat: dummy: No such file or directory
cat: file: No such file or directory
cat: two: No such file or directory
#!/bin/bash
for i in *
do
cat $i
done
Можно просто окружить переменную ($i
) двойными кавычками:
#!/bin/bash
for i in *
do
cat "$i"
done
См. также: