我现在正在研究Linux中的一个小型C程序。让我来解释一下什么我想下面另一个Linux命令输出(管道)作为我的C程序的输入
ls | grep hello
上面的命令是在下面的激情执行的样品Linux命令这样做(让我知道如果我有这个错误)
- LS命令将被执行的第一
- 输出将给出到grep命令将由匹配“你好”
现在再次生成输出我想写一个C程序这需要在p将一个命令的输出作为输入。意思是,在“grep”程序如何能够从ls命令(在上面的示例中)获得输入的类似激情中。
类似的问题已经被问另一个用户here,但由于某些原因,这个主题已经被标记为我最初以为我们可以得到这样的作为命令行参数的C程序“不是一个有效的问题”
。但这种情况并非如此。
Unix管道通过['STDIN'和'STDOUT']工作(http://en.wikipedia.org/wiki/Standard_streams)。你只需要阅读_standard in_来获得你的输入,然后写出_standard out_给你的输出。 – DaoWen
感谢DaoWen - 我已经通过阅读STDIN的输入来实现它 –