加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在Unix(或Windows)中使用(最好是未命名的)管道将一个进程的s

发布时间:2020-12-15 16:39:52 所属栏目:安全 来源:网络整理
导读:我想将进程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上),使用 tee command
我想将进程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上),使用 tee command:
$ echo 123 | tee >(tr 1 a)  | tr 1 b
b23
a23

通常你会使用tee重定向输出到多个文件,但使用>(…)可以
重定向到另一个进程。所以,一般来说,

$ proc1 | tee >(proc2) ... >(procN-1) | procN

会做你想要的。

在windows下,我不认为内置shell有一个等效。微软的Windows PowerShell有一个tee命令。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读