目录
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的区别。
6027

被折叠的 条评论
为什么被折叠?



