【问题标题】:how to produce the output for the next pipe in php in a bash shell?如何在 bash shell 中为 php 中的下一个管道生成输出?
【发布时间】:2012-07-04 07:02:07
【问题描述】:

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

【问题讨论】:

    标签: php shell pipe


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      如果您希望 PHP 能够输出标准输出并将其输出通过管道传输到另一个脚本,您可以简单地打印或回显该语句,如果我没记错的话,它应该隐含在标准输出流中。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • STDOUT 在您链接到的页面上有描述。
        猜你喜欢
        • 2020-05-26
        • 2019-03-17
        • 2014-10-10
        • 1970-01-01
        • 1970-01-01
        • 2016-10-15
        • 2020-06-22
        • 2012-11-19
        • 2015-12-27
        相关资源
        最近更新 更多