命令1:(cat file1 > file2
成功)
命令2:file2 < cat file1
(cat:没有这样的文件或目录)
我只是想知道输出和输入重定向的一般语法。
如果文件或流可以发生重定向,为什么命令 2 会失败?
答案1
重定向在
cat file1 >file2
是输出重定向,而<
指定输入重定向。
线路
file2 < cat file1
是相同的
file2 file1 <cat
(重定向实际发生在哪里并不重要,因为它是由 shell 在自己的解析步骤中处理的,然后从实际命令中删除)这意味着“file2
作为file1
参数运行,并重定向文件中的标准输入cat
”。
该错误来自于 shell 尝试cat
在当前目录中作为文件打开。该错误发生在 shell 尝试运行该命令之前file2
。