美文网首页
Shell命令的退出状态及错误检查

Shell命令的退出状态及错误检查

作者: 风筝flying | 来源:发表于2020-01-10 17:16 被阅读0次

退出状态

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的执行
    如果不加这个命令,则脚本仍会继续执行

相关文章

网友评论

      本文标题:Shell命令的退出状态及错误检查

      本文链接:https://www.haomeiwen.com/subject/bykmactx.html