我想将进程proc1的stdout重定向到两个进程proc2和proc3:
proc2 -> stdout / proc1 \ proc3 -> stdout
我试过了
proc1 | (proc2 & proc3)
但它似乎没有工作,即
echo 123 | (tr 1 a & tr 1 b)
写
b23
到stdout而不是
a23 b23
在unix(或在mac上),使用
原文链接:https://www.f2er.com/bash/391911.htmltee
command:
$ echo 123 | tee >(tr 1 a) | tr 1 b b23 a23
通常你会使用tee重定向输出到多个文件,但使用>(…)可以
重定向到另一个进程。所以,一般来说,
$ proc1 | tee >(proc2) ... >(procN-1) | procN
会做你想要的。
在windows下,我不认为内置shell有一个等效。微软的Windows PowerShell有一个tee命令。