【Linux】循环控制及状态返回值break、continue、exit、return
一、break、continue、exit、return的区别和对比
break n :如果省略n,则表示跳出整个循环,n表示跳出循环的层数
continue n:如果省略n,则表示跳过本次循环,忽略本次循环的剩余代码,进入循环的下一次循环,n表示退出到第n层继续循环
exit n :退出当前shell,n为上次执行程序的状态返回值。exit 0表示正常退出,exit 1表示非正常退出
return n :用于在函数里作为函数的返回值,以判断函数执行的是否正确。
二、break、continue、exit功能执行的流程图
1.循环中break功能执行流程图
2.循环中continue功能执行流程图
3.循环中exit功能执行流程图
三、案例说明
下面是一个关于break、continue、exit、return的脚本
#!/bin/bash #作者:OLIVER #文件名:19_12_1.sh if [ $# -ne 1 ];then #<==如果传入的参数个数不为1,则打印下面信息提示用户。 echo $"请给脚本$0传入参数(break|continue|exit|return)中的其中一个!" #<==传入这4个参数中的其中一个 exit 1 #<==exit 1表示非正常退出,0表示正常退出 fi test(){ for((i=0;i<=6;i++)) do if [ $i -eq 3 ];then $*;#<==接受函数外的参数 fi echo $i done echo "============循环结束!===============" #<==循环外的输出提示 } test $* #<==调用函数并传参数 func_stat=$? #<==函数执行状态 if [ `echo $*|grep return|wc -l` -eq 1 ] then echo "return's exit status:$func_stat" fi echo "ok"
1.直接执行
直接执行命令,则在第一个if语句中就被exit了,并且打印提示信息给用户
2.执行参数为break
根据结果我们可以看出,当i=3以后,该函数就获取到break了,就直接退出了!在i<3之前,函数会将i值打印出来。
3.执行参数为continue
我们从上述结构可以看到没有3,那是因为当i=3的时候,直接就终止本次循环,进而进入到下次循环
4.执行参数为exit
从结果可以看出,当i=3的时候直接就退出程序了
5.执行参数为return
从运行结果可以看出,程序在运行的时候,进入到函数中的循环,并且当i=3的时候,return的作用是退出当前函数,并且下面判断了如果输入命令是return,则打印出return退出的状态码。
作者:奔跑的金鱼
声明:书写博客不易,转载请注明出处,请支持原创,侵权将追究法律责任
个性签名:人的一切的痛苦,本质上都是对自己无能的愤怒
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!