3 ];then break fi done if -6ren">
gpt4 book ai didi

shell 脚本 : nested loop and continue

转载 作者:行者123 更新时间:2023-12-02 03:55:00 26 4
gpt4 key购买 nike

while [condition]
do
for [condition]
do
if [ "$x" > 3 ];then
break
fi
done

if [ "$x" > 3 ];then
continue
fi
done

在上面的脚本中,我必须测试 "$x" > 3两次。实际上我第一次测试它时,如果它是真的,我想转义 while 循环并继续下一个 while 循环。

有没有更简单的方法,所以我可以使用类似 continue 2 的东西逃避外循环?

最佳答案

“break”和“continue”是“goto”的近亲,通常应该避免,因为它们引入了一些导致程序控制流飞跃的无名条件。如果存在需要跳转到程序的其他部分的条件,下一个阅读它的人会感谢您为该条件命名,这样他们就不必弄清楚了!

在您的情况下,您的脚本可以更简洁地编写为:

dataInRange=1
while [condition -a $dataInRange]
do
for [condition -a $dataInRange]
do
if [ "$x" > 3 ];then
dataInRange=0
fi
done
done

关于shell 脚本 : nested loop and continue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13078677/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com