【发布时间】:2018-08-02 09:48:01
【问题描述】:
我有一个命令行实用程序,它接受一个文件作为其输出。我想通过管道输出此输出以进行进一步处理。
我第一次尝试这个:
command - | anothercommand
但它不起作用,它解释了 - 字面意思。 (所以它创建了一个名为 - 的文件)
这确实有效:
command >(anothercommand)
这很好,但我想知道它是否仍然可以用管道完成。
我想到了
command >(tee) | anothercommand
但这只会将输出发送到标准输出。
【问题讨论】:
-
command | anothercommand有效吗?你的最后一个例子暗示它应该。 -
不,如果我不指定文件,程序会提示我提供输出文件名。
-
哦,对了,
tee的标准输出到anothercommand。 -
我没有将输出发送到
anothercommand,而只是发送到标准输出。我认为这是因为>(...)产生了一个子shell,stdout 没有被管道拾取。