shell中continue和break比较

回复 收藏
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
  5.         echo -n "$i "
  6.         for j in `seq 10`
  7.         do
  8.                 if [ $j == 5 ]; then
  9.                 #       break
  10.                 #       break 2
  11.                 #       continue
  12.                         continue 2
  13.                 fi
  14.         echo -n "$j "
  15.         done
  16.         echo
  17. done
  18. 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




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

break 直接结束本层循环

continue 忽略continue之下的代码,直接进行下一次循环
2013-03-28 15:39 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: