shell 捕获 另一个shell的执行结果

使用shell循环打印1到5,间隔一秒输出一个数:

1 #!/bin/sh
2 for i in {1..5}
3 do
4    echo $i 
5    sleep 1
6 done

程序将间隔一秒输出1~5:

1
2
3
4
5

如果使用另一个shell连续读取每次输出,并做一些处理呢?

./loop.sh | while read file; 
do
echo == $file;
done;

这行shell首先执行了上面loop.sh,并循环得到每次的输出,并在前面加上了==,执行结果为:

== 1
== 2
== 3
== 4
== 5

需要注意的是,这段shell并不是一次完成的,随着pool.sh定时的输出,while read file语法可以相应的

捕获输出并处理,实际上我们可以对输出进行判断,并执行任何的其它shell脚本。

 

posted on 2014-10-17 10:00  沈立  阅读(165)  评论(0)    收藏  举报

导航