gpt4 book ai didi

linux - 我不明白 break 命令

转载 作者:太空狗 更新时间:2023-10-29 11:17:39 26 4
gpt4 key购买 nike

在:

#!/bin/sh

for var1 in 1 2 3
do
for var2 in 0 5
do
if [ $var1 -eq 2 -a $var2 -eq 0 ]
then
break 2
else
echo "$var1 $var2"
fi
done
done

输出是:

1 0
1 5

然后脚本停止。

如果删除 break 命令的参数 (2),输出是:

1 0
1 5
3 0
3 5

我想问的是,为什么要打印 3 03 5,当脚本不中断时?脚本没有打印 2 02 53 03 5 应该发出中断信号嗯……

最佳答案

break 的可选参数告诉它要跳出哪个循环。如果省略参数,它会跳出最内层的循环。使用参数 n 它会跳出 n 封闭循环。

所以 break 2 跳出 for var1 循环,因为它是第二个封闭循环。如果将其更改为 break,它会跳出 for var2 循环,因此它会转到 for var1 的下一次迭代。

关于linux - 我不明白 break 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40516872/

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