我试图在 while 循环没有返回输出时立即退出。
因此,如果我正在监视(使用 while 循环)更改的命令的输出,那么一旦我正在监视的字符串不再存在,如何退出循环。 (假设“purple”从下面示例中的输出字符串中消失)
$ while :; do clear; "is_purple_present_monitoring_script" | grep purple ; sleep 15; done
答案1
使用break
陈述:
while :; do
clear;
if ! "is_purple_present_monitoring_script" | grep purple; then
break
fi;
sleep 15;
done
答案2
它是条件列表中的最后一个命令,用于确定while
循环何时退出。
while
clear
"is_purple_present_monitoring_script" | grep purple
do
sleep 15
done
您可以将条件移至操作列表并break
在那里使用(并使用true
or:
作为条件列表),如下所示:
while
true
do
clear
"is_purple_present_monitoring_script" | grep purple || break
sleep 15
done
但这是一种非常人为的使用while
循环的方式。