当我在终端写下面的行时,它不起作用
./ a.out< filename.txt | cat filename.txt
流水线不起作用。执行
后进程终止./ a.out< filename.txt但不会去cat。
有谁能告诉我为什么会这样?
由于
答案 0 :(得分:0)
如果要从管道填充a.out
的输入,则必须恢复命令:
cat filename.txt | ./a.out
这个结构被称为“无用的猫”,因为它比
更慢./a.out < filename.txt
答案 1 :(得分:0)
老实说,我在这里不是很滑稽,最简单,最直截了当的方式就是:
a.out filename.txt && cat filename.txt
或者,如果a.out只读取标准输入,
cat filename.txt | a.out && cat filename.txt