Break N and Continue N

260阅读 0评论2010-08-08 obsd178
分类:LINUX

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

下面是continue带参数的例子
#!/bin/bash
# The "continue N" command, continuing at the Nth level loop.
for outer in I II III IV V           # outer loop
do
  echo; echo -n "Group $outer: "
  # --------------------------------------------------------------------
  for inner in 1 2 3 4 5 6 7 8 9 10  # inner loop
  do
    if [ "$inner" -eq 7 ]
    then
      continue 2  # Continue at loop on 2nd level, that is "outer loop".
                  # Replace above line with a simple "continue"
                  # to see normal loop behavior.
    fi 
    echo -n "$inner "  # 7 8 9 10 will never echo.
  done 
  # --------------------------------------------------------------------
done
echo; echo
# Exercise:
# Come up with a meaningful use for "continue N" in a script.
exit 0
 
for x in 1 2 3
do
echo before $x
continue 1
echo after $x
done

The output for the preceding will be

before 1
before 2
before 3
上一篇:The following table describes these condition type
下一篇:新鲜出炉的腾讯后台开发三面面试题