shell break和continue

和C语言的break和continue类似,shell中也有break和continue内部命令,用来结束循环,两者的不同之处在于:break用来结束整个循环,而continue则是结束本次循环,继续下一轮循环。

#!/bin/bash

for((i=0; i<5; i++))
do 
    if [ $i -eq 3 ];then
        break;
    fi
    echo $i
done

在上面的脚本程序中,我们使用一个for循环来打印变量i的值,在循环体内使用if做了一个条件判断:当变量i的值为3时,则会使用break结束整个循环,所以我们可以看到变量的值打印到2就停止打印了:

root@pc:/home/demo# ./hello.sh 
0
1
2

如果我们使用continue,当变量i的值为3时,continue仅仅是结束变量i=3的这次循环的执行,但会接着执行下一次循环,直到for中的循环条件不再满足才结束整个循环。

root@pc:/home/demo# cat hello.sh 
#!/bin/bash

for((i=0; i<5; i++))
do 
    if [ $i -eq 3 ];then
        continue;
    fi
    echo $i
done


root@pc:/home/demo# ./hello.sh 
0
1
2
4
《Linux三剑客》视频教程:Linux下开发工具vim、Git、Makefile、autotools、qemu、debug精讲,从零开始一步一步写项目的Makefile,提供企业级Makefile模板,Git操作实战,vim从新手到高手,一步一步打造类似Source Insight的IDE!详情点击:王利涛老师个人淘宝店:Linux三剑客