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脚本。
浙公网安备 33010602011771号