【发布时间】:2017-01-09 11:20:24
【问题描述】:
我有两个程序:p1 和 p2。我运行 p1 | p2。我知道如何在 p2 标准输入中从 p1 读取标准输出。我怎样才能对 stderr 做同样的事情。
谢谢, 尼古拉斯
【问题讨论】:
-
这似乎与 python 无关,而是与 bash 相关,因为您显然使用的是管道。您可以将 stderr 重定向到 stdout 或使用 2|而不是 |
我有两个程序:p1 和 p2。我运行 p1 | p2。我知道如何在 p2 标准输入中从 p1 读取标准输出。我怎样才能对 stderr 做同样的事情。
谢谢, 尼古拉斯
【问题讨论】:
大多数(或所有)shell 中的管道 (|) 获取命令的标准输出并将其传递给第二个命令。
因此,从第一个命令中获取标准错误只能在命令行上完成。在 bash 中,你会这样做:
p1 2>&1 | p2
这告诉 bash 将 stderr 转发到 stdout。然后将两者都通过管道传输到 p2。
或者,您可以让 p1 仅将所有内容打印到标准输出。
【讨论】: