如何在bash shell中为php中的下一个管道生成输出?

时间:2012-07-04 07:02:08

标签: php shell pipe

我正在编写一个shell来处理Web日志。一个操作是用PHP编写的,并在bash shell中调用,它接受来自前一个管道的stdin并将输出产生到下一个管道。我想知道如何为下一个管道生成输出。我已经测试过了  $stdin = fwrite(STDOUT, $data); 似乎这样不行。有什么解决方案吗?非常感谢你!

3 个答案:

答案 0 :(得分:0)

我通常只使用echo,或者如果我需要文件,我会打开"php://stdout"进行撰写。

答案 1 :(得分:0)

如果你有一个接受bash命令参数的PHP(这可以通过管道中的stdin),你可以使用脚本中的变量$ argv来访问参数,该变量将参数作为由空格分隔的数组来存放(http://php.net/manual/en/reserved.variables.argv.php)。

如果你希望PHP能够stdout并将其输出传递给另一个脚本,你可以简单地打印或回显该语句,它应该隐含在stdout流中,如果我没有弄错的话。

答案 2 :(得分:0)

您可以使用echoprint写入stdout。在任何情况下,STDOUT都不是我熟悉的常数。 PHP有some special wrappers你可以用fopen来做你需要的。