Shell break和continue语句的用法(附带实例)
Shell 脚本中,程序执行到 break 语句时,会结束整个当前循环(可用于for循环、while循环、until循环)。而 continue 语句也是结束循环的语句,不过 continue 语句只会结束单次当前循环,下次循环会继续执行。

图 1 break 语句示意图
举个例子:
我们也画一张示意图来说明 continue 语句,如下图所示:

图 2 continue 语句示意图
还是使用刚刚的脚本,不过退出语句换成 continue 语句,看看会发生什么情况。
Shell break语句
画一张示意图来解释 break 语句,如下图所示:
图 1 break 语句示意图
举个例子:
[root@localhost ~]# vim /root/break.sh #/bin/bash #演示使用break语句跳出循环 for ( i=1;i<=10;i=i+1 ) #循环十次 do if [ "si" -eq 4 ] #如果变量i的值等于4 then break #就退出整个循环 fi echo Si #输出变量i的值 done运行一下这个脚本,一旦变量的值等于 4,整个循环就会跳出,因此应该只能循环三次。
[root@localhost ~]# /root/break.sh
1
2
3
Shell continue语句
再来看看 continue 语句,它也是结束循环(可用于 for 循环、while 循环、until 循环)的语句,但它只会结束单次当前循环,忽略当前循环中的剩余代码,继续进行下次循环。我们也画一张示意图来说明 continue 语句,如下图所示:

图 2 continue 语句示意图
还是使用刚刚的脚本,不过退出语句换成 continue 语句,看看会发生什么情况。
[root@localhost ~]# vim /root/continue.sh #!/bin/bash for ( i=1;i<=10;i=i=i+1) do if[ "si" -eq 4] then continue #退出语句换成continue语句 fi echo Si done运行一下这个脚本:
[root@localhost ~]# /root/continue.sh
1
2
3
5 <-continue语句生效,缺少数字4输出
6
7
8
9
10