我有一个名为test的文件,其中包含“hello”一词。
不应该
echo test | cat
输出你好?因为它将来自回波测试的输出(即测试)作为cat的输入。所以基本上我正在进行猫测试。
但实际输出是测试,我真的很困惑。
答案 0 :(得分:2)
您的管道将test
作为输入发送到cat
,而不是参数。你可以这样做:
cat `echo test`
使用cat
将参数控制为echo
。
答案 1 :(得分:1)
echo
打印其参数。 cat
打印一个默认为标准输入的文件。管道echo
的标准输出连接到cat
的标准输入时。
正确就是cat test
。
答案 2 :(得分:1)
来自cat --help
如果没有FILE或FILE是 - ,请阅读标准输入。
在您的情况下,cat
从标准输入读取,test
并输出。
答案 3 :(得分:0)
在某些情况下,您可能希望参数通过管道传递。这就是你要这样做的方式:
echo test | xargs cat
将输出名为“test”的文件的内容。