Linux Shell编程(18)—— 循环控制

影响循环行为的命令
break, continue
break和continue这两个循环控制命令[1]与其它语言的类似命令的行为是相同的. break命令将会跳出循环,continue命令将会跳过本次循环下边的语句,直接进入下次循环..


例子:break和continue命令在循环中的效果


#!/bin/bash


LIMIT=19  # 上限


echo
echo "Printing Numbers 1 through 20 (but not 3 and 11)."


a=0


while [ $a -le "$LIMIT" ]
do
 a=$(($a+1))


 if [ "$a" -eq 3 ] || [ "$a" -eq 11 ]  # Excludes 3 and 11.
 then
   continue      # 跳过本次循环剩下的语句.
 fi


 echo -n "$a "   # 在$a等于3和11的时候,这句将不会执行.
done 


# 练习:
# 为什么循环会打印到20?


echo; echo


echo Printing Numbers 1 through 20, but something happens after 2.


##################################################################


# 同样的循环, 但是用'break'来代替'continue'.


a=0


while [ "$a" -le "$LIMIT" ]
do
 a=$(($a+1))


 if [ "$a" -gt 2 ]
 then
   break  # Skip entire rest of loop.
  fi
  
   echo -n "$a "
  done
 
  echo; echo; echo
 
 exit 0


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

posted on 2014-09-30 07:55  三少爷的剑123  阅读(179)  评论(0编辑  收藏  举报

导航