bash – 管道输出到两个不同的命令

Possible Duplicate:
07000

有没有办法将输出一个命令管道输入到另外两个命令的输入,同时运行它们?

这样的事情

$ echo 'test' |(cat) |(cat)
test
test

我想这样做的原因是我有一个程序从USB SDR设备接收FM收音信号,并将音频作为原始PCM数据输出(如.wav文件,但没有标题)。由于信号不是音乐,但POCSAG寻呼机数据,我需要管道解码程序来恢复寻呼机文本。不过我也想听听信号,所以我知道是否有任何数据进来。 (否则,我无法判断解码器是否损坏或者没有数据正在广播)。因此,为了将数据传输到寻呼机解码器,我还需要将相同的数据传送到播放命令。

目前,我只知道如何做到这一点 – 要么把它传输到解码器,要么无声地读取数据,要么管它播放并且听不到任何解码的文本。

如何将相同的数据管道传递给这两个命令,以便我可以阅读文本并听到音频?

我不能使用三通,因为它只将重复的数据写入文件,但我需要实时处理数据。

如果你使用三通和mkfifo,它应该是好的。
mkfifo pipe
cat pipe | (command 1) &
echo 'test' | tee pipe | (command 2)

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...