我知道我们可以使用
cat > fire
创建一个名为“fire”的文件。但是,如果文件名包含“Grocery list”这样的 2 个单词,该如何制作呢?
自从
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
由 shell 完成,它首先发生,因此文件Grocery
被创建,然后cat list
运行 ielist
作为参数cat
,因为大概当前目录中不存在文件,因此出现丢失文件list
的错误list
。
所以,在这种情况下,本质上你正在做:
cat list > Grocery
答案2
你需要以某种方式逃离这个空间。 heemayl 给了你一个很好的答案,但我建议你也阅读这个答案以了解详细信息:为什么我的 shell 脚本会因为空格或其他特殊字符而卡住?
至于创建文件本身,您不需要使用cat
.
> file
足够。