break 命令和continue命令
- break命令
break命令可以使脚本从循环体中退出来,其语法格式如下:
break [n]
其中,n表示要跳出n层循环。默认值是1,表示跳出一层循环。若n=3,则表示一次跌出3层循环。
执行break命令时,是从包含它的那个循环体中向外跳出。
下面的脚本按反向印出命令行中给出的参数。
count=$#
cmd=echo
while true
do
cmd="$cmd \$$count "
((count=count -1))
if [ $count -eq 0 ]
then break
fi
done
eval $cmd
其中,eval 是shell的内置命令,能对其后的参数进行相应的变量或命令替换,并把替换结果合成新的命令行,然后读取并加以执行。
该脚本中while的测试条件总为真,它的唯一 出口点是执行break命令。
- continue 命令
contiue俞令跳过循环体中在它之后的语句,回到本层循环的开头,进行下一次循环。其语法格式如下:
continue [ n ]
其中,n表示从包含continue语句的最内层循环体向外跳到第n层循环。默认值为1。循环层数是由内向外编号的。例如:
for i in 1 2 3 4 5
do
if [ "$i" -eq3 ]
then continue
else echo "$i"
fi
done
执行该脚本,得到的结果是:
1
2
3
4
5