第 43 章 重定向输入和输出Unix 电动工具,第三版关于 cat 命令不得不说一下:
标准输入 (stdin) 通常来自键盘。许多程序忽略 stdin;您可以直接在命令行上命名文件 - 例如,命令 cat file1 file2绝不读取其标准输入;它直接读取文件。但是如果命令行上没有文件名,需要输入的 Unix 命令通常会读取 stdin。标准输入通常来自键盘,但 shell 可以从文件重定向标准输入。
(强调矿)
好的,但是当我们只cat > filename
在命令行中输入时会发生吗? cat 不是从标准输入读取并将其存储到文件“文件名”中吗?书中的上述摘录只是说只有将 cat 与 FILE 参数一起使用的特定形式才不会从标准输入中读取?
答案1
cat 不是从标准输入读取并将其存储到文件“文件名”中吗?
是的,当cat
没有任何文件名参数时(或者如果其中一个文件是减号字符-
),它会从stdin
.
也许书中使用“从不”这个词有点误导,因为:
书中的上述摘录只是说只有将 cat 与 FILE 参数一起使用的特定形式才不会从标准输入中读取?
是的,在那种特定情况下,cat
不会碰stdin
。