退出状态
Shell中执行的每个命令都会通过退出状态码(exit status)来返回命令的执行结果,它是0~255之间的整数值。
- 查看退出状态码
$?变量用来保存上个执行的命令的退出状态码。例如:
pwd
echo $?
此时你会看到的结果是 0
- 常用退出状态码
状态码 | 中文含义 |
---|---|
0 | 命令成功结束 |
1 | 通用未知错误 |
2 | 无用shell命令 |
126 | 命令不可执行 |
127 | 没有找到命令 |
128 | 无效退出参数 |
130 | Linux信号2的严重错误,即通过Ctrl+c终止 |
255 | 退出状态码越界 |
默认状态下,shell脚本会以脚本中的最后一个命令作为退出状态码。所以一般情况下,在shell脚本中以 exit 命令的值来指定shell命令的退出状态码。但是退出状态码的范围是 0 ~ 255, 退出值超出这个范围将会执行取模运算。例如通过exit 命令指定返回值为300,经过取模运算,那么退出状态码就为44。
错误检查
- set -e
这个命令的用途是高速bash如果任何命令的退出状态码不是0则应该结束整个shell的执行
如果不加这个命令,则脚本仍会继续执行
网友评论