2011-03-01 79 views
1

我有一个名为test的文件,其中包含单词“hello”。Linux中的管道

不应该

 echo test | cat 

输出喂?因为它将来自作为测试的回波测试的输出作为cat的输入。所以基本上即时通讯猫测试。

但实际输出是测试,我真的很困惑。

回答

0

在某些情况下,您可能需要通过管道传递参数。这是你会怎么做:

echo test | xargs cat 

将输出的内容名为“test”的文件

2

你的管道发送testcat作为输入,还不如参数。你可以这样做:

cat `echo test` 

echo控制参数cat

1

echo打印它的参数。 cat打印默认为标准输入的文件。当你管echo的标准输出连接到cat的标准输入。

正确的就是cat test

1

cat --help

如果没有文件或FILE是 - ,读取标准输入。

在你的情况下,cat从标准输入,即test读取并输出。