|
- #!/bin/sh
- n=5
- myfifo=pipe$$
- exec 4<>$myfifo
- wr() {
- echo $cnt >> $myfifo
- }
- cnt=$n
- for (( i=0; i<$n; i++ ))
- do
- wr& #a
- # echo $cnt >> $myfifo #b
- done
- while read line
- do
- echo $line
- done < $myfifo
- wait
- rm $myfifo
复制代码
在bash中,在for循环那,如果使用的是a那个语句,最后输出的结果是0-3个5,并不确定。而使用b那个语句的话,就能输出5个5了。为什么用子进程的时候会有消息丢失了呢?
好像我的管道的用法很不规范,还请各位指正。。。 |
|