六、退出脚本

shell中运行的每个命令都使用退出状态码(exit status)告诉shell它已经运行完毕。

退出状态码是一个0~255的整数值,在命令结束运行时由命令传给shell。可以捕获这个值并在脚本中使用

1、查看退出状态码

Linux提供了一个专门的变量 $? 来保存上个已执行命令的退出状态码。

对于需要进行检查的命令,必须在其运行完毕后立刻查看或使用$?变量。它的值会变成由shell所执行的最后一条命令 的退出状态码。

语法:

[root@localhost ~]# ls
1.sh             initial-setup-ks.cfg  qw  w1  公共  视频  文档  音乐
anaconda-ks.cfg  playground            w   we  模板  图片  下载  桌面
[root@localhost ~]# echo $?
0
[root@localhost ~]# la
bash: la: 未找到命令...
[root@localhost ~]# echo $?
127
[root@localhost ~]#

一个成功结束的命令的退出状态码是0。如果一个命令结束时有错误,退出状态码就是一个正数值。

2、exit 命令

默认情况下,shell脚本会以脚本中的最后一个命令的退出状态码退出。exit命令允许你在脚本结束时指定一 个退出状态码。

#----脚本编写-----
$ cat test13 
#!/bin/bash 
# testing the exit status 
var1=10 
var2=30 
var3=$[$var1 + $var2] 
echo The answer is $var3 
exit 5 


#----运行脚本-----
$ chmod u+x test13 
$ ./test13 
The answer is 40 
$ echo $? 
5

 

posted @ 2025-11-18 09:13  chao_xiong  阅读(7)  评论(0)    收藏  举报