您的位置:首页 > 运维架构 > Shell

shell中continue和break区别

2013-11-12 13:29 471 查看
break 命令可以带一个参数,一个不带参数的break 循环只能退出最内层的循环,而break N可以退出N 层循环。

continue 命令也可以带一个参数,一个不带参数的continue 命令只去掉本次循环的剩余代码,而continue N 将会把N 层循环剩余的代码都去掉,但是循环的次数不变。
#!/bin/sh
for i in "a b c d"
do
echo "$i "
 for j in `seq 10`
do
if [ $j -eq 5 ];then
break
fi
echo "$j "
done
echo
done


break结果:

a 1 2 3 4

b 1 2 3 4

c 1 2 3 4

d 1 2 3 4

break 2的结果:

a 1 2 3 4

continue结果:

a 1 2 3 4 6 7 8 9 10

b 1 2 3 4 6 7 8 9 10

c 1 2 3 4 6 7 8 9 10

d 1 2 3 4 6 7 8 9 10

continue 2的结果:

a 1 2 3 4

b 1 2 3 4

c 1 2 3 4

d 1 2 3 4

备注:本人在ubuntu 12.04环境中运行,将上述脚本保存为test_break.sh,执行sh test_break.sh命令,不能得到上述结果。

将"a b c d"先保存到一个变量LIST中,再使用for i in $LIST判断,则可以得到上述结果。

原文地址:/article/6944696.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: