评估来自stdout的行

j.l*_*lee 8 bash scripting

我有一个bash脚本在循环中执行程序.我想评估stdout中的每一行,如果它符合我的条件,就做一些事情.

我仍然希望能够在屏幕上看到stdout.有没有一种简单的方法来实现这一目标?谢谢!

Oli*_*rth 13

循环输入有几种变体,但有一种可能性:

my_cmd | while read line; do
    echo "$line"
    my_process "$line"
done
Run Code Online (Sandbox Code Playgroud)

  • 另外,请注意将"while"放在管道中意味着while体在子进程中执行.根据`my_process`是什么,OP可能不希望这样,所以:`read read -r line; 做......; 完成<<(my_cmd)` (3认同)