首页 > 编程笔记 > Linux笔记 阅读:2

Shell break和continue语句的用法(附带实例)

Shell 脚本中,程序执行到 break 语句时,会结束整个当前循环(可用于for循环、while循环、until循环)。而 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

continue 语句只会退出单次当前循环,并不会影响后续的循环,因此只会缺少数字 4 输出。

相关文章