特殊流程控制语句

目录

1.exit

2.break语句

3.continue语句


1.exit

       系统是有exit命令的,用于退出当前用户的登录状态,可是在shell脚本中,exit语句是用来退出当前脚本的。也就是说在shell脚本中,只要碰到exit语句,后续的程序就不再执行,而直接退出脚本。

exit语法:
    exit [返回值]

       如果exit命令之后定义了返回值,那么这个脚本执行之后的返回值就是我们自己定义的返回值。可以通过$?查询,来查看返回值,范围是0-255。如果exit之后没有定义返回值,脚本执行之后的返回值是执行exit之前,最后执行一条命令的返回值。

例:

[root@localhost ~]# cat exit.sh 
#!/bin/bash
read -t 30 -p "please input a number:" num 
y=$(echo $num | sed 's/[0-9]//g') 	 
 	[ -n "$y" ] && echo "error!please input a number!" && exit 8
echo "the number is:$num"

2.break语句

       break概述:跳出当前整个循环或结束当前循环,在for、while等循环语句中,用于跳出当前所在的循环体,执行循环体之后的语句,后面如果什么也不加,表示跳出当前循环等价于break 1,也可以在后面加数字,假设break 3表示跳出第三层循环。

例:

[root@localhost ~]# cat break.sh 
#!/bin/bash
for ((i=1; i<=10; i=i+1 )) 	 
 	do	
 	 	if [ "$i" -eq 4 ] 
 	 	 	then
 	 	 	break 	 
 	 	fi
 	 	echo $i  	 
 	done

[root@localhost ~]# .break.sh 
1
2
3

3.continue语句

       continue概述:忽略本次循环剩余的代码,直接进行下一次循环;在for、while等循环语句中,用于跳出当前所在的循环体,执行循环体之后的语句,如果后面加的数字是1,表示忽略本次条件循环,如果是2的话,忽略下来2次条件的循环。

[root@localhost ~]# cat continue.sh 
#!/bin/bash
for ((i=1; i<=10; i=i+1 ))
 	do	
 	 	if [ "$i" -eq 4 ]
 	 	 	then
 	 	 	continue		#退出语句continue。
 	 	fi
 	 	echo $i
 	done

[root@localhost ~]# . continue.sh	#执行脚本。
1
2
3
5
6
7
8
9
10
#在输出内容里,只是少了4这个数字。其他数字正常输出。

       continue只会退出单词循环,所以并不影响后续的循环,结果就是只会少4的输出。两个脚本相比较之下,应该能更清楚说明break和continue的区别。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值