shell中continue和break区别

转自 :http://blog.163.com/laser_meng@126/blog/static/16972784420115203501961/ shell


break 命令能够带一个参数,一个不带参数的break 循环只能退出最内层的循环,而break N能够退出N 层循环。
continue 命令也能够带一个参数,一个不带参数的continue 命令只去掉本次循环的剩余代码,而continue N 将会把N 层循环剩余的代码都去掉,可是循环的次数不变。 code

#!/bin/sh  

for i in a b c d

do

        echo

        echo -n "$i "

        for j in `seq 10`

        do

                if [ $j == 5 ]; then

                #       break

                #       break 2

                #       continue

                        continue 2

                fi

        echo -n "$j "

        done

        echo

done

echo

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  blog


=========================================================== get

break 直接结束本层循环 class

continue 忽略continue之下的代码,直接进行下一次循环 循环

相关文章
相关标签/搜索