shell中continue和break区别

分类:shell编程 阅读:82838 次

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

  1. #!/bin/sh

  2. for i in"a b c d"

  3. do

  4. echo "$i "

  5. for j in `seq 10`

  6. do

  7. if [ $j -eq 5 ];then

  8. break

  9. fi

  10. echo "$j "

  11. done

  12. echo

  13. 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