Как мне работать с именами файлов с пробелами в скрипте Linux?

Я пытаюсь использовать имена файлов, загруженные из каталога.

Это работает нормально, но если имя файла содержит пробелы, оно не работает.

Я продемонстрирую:

Допустим, вы в папке 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
0
задан 17 September 2019 в 12:57

1 ответ

Можно просто окружить переменную ($i) двойными кавычками:

#!/bin/bash
for i in *
do
    cat "$i"
done

См. также:

2
ответ дан 23 October 2019 в 11:42

Другие вопросы по тегам:

Похожие вопросы: