linux中cat加管道用法,linux – 使用cat在管道之间弹回一个字符

博客解释了如何使用mkfifo创建管道和bash命令创建一个无限循环,其中字符'x'在两个cat进程中通过管道来回传递。cat1从stdin读取'x'并写入pipe33b,cat2则从pipe33b读取并回写到pipe33a,形成循环。'--'参数用于告诉cat从标准输入读取数据。
摘要由CSDN通过智能技术生成

首先,他们用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 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.

> echo -n x输出字符’x’并将其提供给cat1,这只是cat命令的副本.

> cat1 – pipe33a> pipe33b:首先读取stdin(这就是 – 的意思)并将其写入pipe33b.然后cat1尝试从pipe33a读取它必须等待.

> cat2< pipe33b> pipe33a&从pipe33b读取’x’并将其写回pipe33a

> cat1现在可以从pipe33a中读出’x’并将其写回pipe33b,再次开始整个过程​​.

标签:bash,linux,shell,unix,pipe

来源: https://codeday.me/bug/20190824/1704108.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值