![读取命名管道作为输出以回显到管道](https://linux22.com/image/692658/%E8%AF%BB%E5%8F%96%E5%91%BD%E5%90%8D%E7%AE%A1%E9%81%93%E4%BD%9C%E4%B8%BA%E8%BE%93%E5%87%BA%E4%BB%A5%E5%9B%9E%E6%98%BE%E5%88%B0%E7%AE%A1%E9%81%93.png)
我为一些客户端程序(例如 cec)创建了一些命名管道,因此我只需要在后台建立一次连接,然后输入命令即可。大多数时候我不需要读取输出,但有时我需要这样做,并希望找到某种方法。我已设置
sudo mkfifo /dev/cecIn
sudo chmod 666 /dev/cecIn
tailf /dev/null > /dev/cecIn #keep pipe open
sudo mkfifo /dev/cecOut
sudo chmod 666 /dev/cecOut
cat /dev/cecIn | cec-client -s > /dev/cecOut
发送 cec 命令非常棒,而且非常快,因为我保持连接打开。现在我使用echo as > /dev/cecIn
例如,但如果我想要echo tx 40:8f > /dev/cecIn #power status
返回输出,我找不到干净的方法。我可以cat
在另一个窗口中查看输出管道并查看它的工作原理,我明白它为什么没有正常进入 stdout,并且进程是分开的,但是有没有办法运行命令/脚本来处理从 cecIn 输入生成的 cecOut 管道?
如果有需要的话我会用 Debian Jessie