shell中continue和break区别

原文地址:http://blog.163.com/laser_meng@126/blog/static/16972784420115203501961/


break命令可以带一个参数,一个不带参数的break 循环只能退出最内层的循环,而break N可以退出N 层循环。

continue命令也可以带一个参数,一个不带参数的continue命令只去掉本次循环的剩余代码,而continue N 将会把N层循环剩余的代码都去掉,但是循环的次数不变。

#!/bin/sh 

 

fori 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 12 3 4

b 12 3 4

c 12 3 4

d 12 3 4


break2的结果:

a 12 3 4


continue结果:

a 12 3 4 6 7 8 9 10

b 12 3 4 6 7 8 9 10

c 12 3 4 6 7 8 9 10

d 12 3 4 6 7 8 9 10


continue2的结果:

a 12 3 4

b 12 3 4

c 12 3 4

d 12 3 4

 

===========================================================

break直接结束本层循环

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

你可能感兴趣的:(c,shell)