在命令行参数中使用管道

时间:2016-08-07 04:42:06

标签: linux pipe

我正在研究Linux上的管道作业。我有一个打印hello world的程序。它不需要参数。但是当我运行程序并提供命令行参数为./a ls | wc时。我得到输出0 2 11,即hello world的输出通过管道传递给wc。有人可以解释一下这种行为。

1 个答案:

答案 0 :(得分:2)

因为你的程序没有参数,你传递它ls作为参数的事实对它的输出没有区别:它忽略了那个参数并且仍在发出{ {1}},就像它的参数列表中没有传递hello world一样。

了解管道设置FIFO - 即连接两个程序。

ls

因此,管道不是参数./a ls ## this program's output... wc ## ...is connected to this program's input. ;它是关于如何路由a输出的shell的指令,在这种情况下是将其路由到a的标准输入的指令。