【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功能执行流程图

image

2.循环中continue功能执行流程图

image

3.循环中exit功能执行流程图

image

三、案例说明

下面是一个关于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.直接执行

image

直接执行命令,则在第一个if语句中就被exit了,并且打印提示信息给用户

2.执行参数为break

image

根据结果我们可以看出,当i=3以后,该函数就获取到break了,就直接退出了!在i<3之前,函数会将i值打印出来。

3.执行参数为continue

image

我们从上述结构可以看到没有3,那是因为当i=3的时候,直接就终止本次循环,进而进入到下次循环

4.执行参数为exit

image

从结果可以看出,当i=3的时候直接就退出程序了

5.执行参数为return

image

从运行结果可以看出,程序在运行的时候,进入到函数中的循环,并且当i=3的时候,return的作用是退出当前函数,并且下面判断了如果输入命令是return,则打印出return退出的状态码。


转载于:https://www.cnblogs.com/OliverQin/p/10278372.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值