Я хочу создать файл с названием «Список продуктов» (2 слова в названии этого файла)

Я хочу создать файл с названием «Список продуктов» (2 слова в названии этого файла)

Я знаю, что мы можем использовать

cat > fire

создать файл с именем "fire". Но если имя файла содержит 2 слова, например "Grocery list", как это сделать?

С

cat > Grocery list

выдает странное сообщение cat: list: No such file or directory.

Помогите мне, пожалуйста.

решение1

Много способов:

  • Использование одинарных кавычек вокруг имени:

    cat > 'Grocery list'
    
  • Использование двойных кавычек вокруг имени:

    cat > "Grocery list"
    
  • Экранируйте пробел с помощью \:

    cat > Grocery\ list
    

Когда вы это делаете:

cat > Grocery list

Groceryи listвоспринимаются как два слова.

Направление вывода > Groceryвыполняется оболочкой, и это происходит в первую очередь, поэтому файл Groceryсоздается, а затем cat listзапускается, т.е. listпринимается в качестве аргумента cat, так как предположительно в текущем каталоге нет файла list, отсюда и ошибка об отсутствующем listфайле.

Итак, в этом случае, по сути, вы делаете:

cat list > Grocery

решение2

Вам нужно как-то выбраться из этого пространства. Хороший ответ дал вам heemayl, но я рекомендую прочитать и это для получения подробной информации:Почему мой скрипт оболочки тормозит пробелы и другие специальные символы?

Что касается создания самого файла, вам не обязательно использовать cat.

> file

достаточно.

Связанный контент