这第一个管道正常工作(打印“C”):
echo "a" | sed 's/a/b/' | sed 's/b/c/'
这一次没有做我所期望的(没有被印刷时,我养活的“A”到我的FIFO):
mkfifo fifo;
cat fifo | sed 's/a/b/' | sed 's/b/c/'
但是,如果我从后者管线上拆下第二“的sed”命令时,我得到一个“B”字样。 我想我的管道和重定向的理解一定是太简单了。 能否给我有人解释如何解决这个第二种情况 ,这样我可以在FIFO的内容运行两个连续的命令?
(注意,这是不特定于FIFO一个问题,netcat的发生相同的行为了。我张贴了关于netcat的一个类似的问题,但没有得到答案)