+-
我一直在读 Linux中的管道,我在一本书中看到了这个( http://linux-training.be/linuxsys.pdf,第16页)
首先,他们用mkfifo创建了四个管道
$mkfifo pipe33a pipe33b pipe42a pipe42b
copy / bin / cat into ./
$cp /bin/cat proj33 && cp /bin/cat proj42
然后运行以下命令
$echo -n x | ./proj33 - pipe33a > pipe33b
$./proj33 <pipe33b >pipe33a &
这本书解释了最后一个命令
The commands you see above will create two proj33 processes that use
cat to bounce the x character between pipe33a and pipe33b.
我的问题是我不明白最后一个命令.特别是在./proj33和pipe33a之间使用’ – ‘的原因.什么’ – ‘做.这个设置如何像一个交换charatier’x’的无限循环?
最佳答案
说明:
为清楚起见,我将调用进程cat1和cat2而不是proj33.
为清楚起见,我将调用进程cat1和cat2而不是proj33.
> echo -n x输出字符’x’并将其提供给cat1,这只是cat命令的副本.
> cat1 – pipe33a> pipe33b:首先读取stdin(这就是 – 的意思)并将其写入pipe33b.然后cat1尝试从pipe33a读取它必须等待.
> cat2< pipe33b> pipe33a&从pipe33b读取’x’并将其写回pipe33a
> cat1现在可以从pipe33a中读出’x’并将其写回pipe33b,再次开始整个过程.
点击查看更多相关文章
转载注明原文:linux – 使用cat在管道之间弹回一个字符 - 乐贴网