shell脚本返回执行结果shell脚本:exit退出当前进程
exit
exit是⼀个shell内置命令,⽤于退出当前⽤户的登录状态(退出shell进程)。exit 命令可以接受⼀个整数值作为参数,代表退出状态。如果不指定,默认状态值是 0。
例如:
[root@linus ~]# bash
[root@linus ~]# exit
exit
[root@linus ~]# echo $?
[root@linus ~]# exit
登出
脚本中的exit
既然exit是退出当前进程,在脚本中的应⽤就是退出当前脚本进程,也就是执⾏到exit后,直接退出,不再执⾏后续命令,所以说,exit需要谨慎写⼊,确保执⾏完你想要的效果后再退出。
exit的使⽤,通常有⼀个前提,就⽐如说,脚本的执⾏效果或者反馈结果,是你想要的效果,就退出脚本,或者说,你不想要脚本某后半部分命令,只执⾏前半部分,在前半部分后⾯加上exit,就会退出脚本,不再执⾏后续命令。
脚本中使⽤exit
格式: exit 返回值
嗯?怎么多了⼀个返回值,直接使⽤不可以吗?当然可以,没有定义返回值的话,默认返回值是在执⾏脚本中,exit上⾯⼀条命令的返回值。如果定义返回值,那就是你定义的返回值。可以查询$?变量来查看返回值。
exit 退出状态只能是⼀个介于 0~255 之间的整数,其中只有 0 表⽰成功,其它值都表⽰失败。
理解案例
通过⼀个简单的案例,来了解⼀下exit的具体使⽤。
#!/bin/bash
read -p "请输⼊(yes|no):" a
case $a in
yes)
echo "您输⼊的是yes"
exit 1
echo "我是yes,能看见我吗"
;;
no)
echo "您输⼊的是no"
echo "我是no,能看见我吗"
;
;
*)
echo "输⼊错误,请输⼊yes|no"
esac
执⾏效果:
[root@linus ~]# sh exit.sh
请输⼊(yes|no):yes
您输⼊的是yes
[root@linus ~]# sh exit.sh
请输⼊(yes|no):no
您输⼊的是no
我是no,能看见我吗
可以看到,输⼊yes的时候,少了⼀个echo输出,⽽输⼊no的时候,全部都显⽰出来,就是因为加上exit后,执⾏到exit直接结束脚本。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论