shell的退出状态码

shell中运行的每一个命令都使用退出状态码(exit status)。退出状态码是一个0~255的整数,在命令结束运行时有命令传给shell。shell

查看退出状态码

Linux提供了一个专门的变量 $? 来保存上一个已执行命令的退出状态码。对于须要进行检查的命令,必须在其运行完毕后马上查看或使用 $? 变量。它的值会变成有shell所执行的最后一条命令的退出状态码。ide

一个成功结束的命令的退出状态码是0。Linux错误退出状态码没有什么标准可循,但有一些可用的参考:it

状态码 描述
0 命令成功结束
1 通常性未知错误
2 不适合的shell指令
126 命令不可执行
127 没找到命令
128 无效的退出参数
128+x 与Linux信号x相关的严重错误
130 经过 Ctrl+C 终止的命令
255 正常范围以外的退出状态码

举例说明:table

  • 无效的命令会返回一个退出状态码127。
  • 退出状态码126,代表用户没有执行命令的正确权限。
  • 给命令提供了无效参数,会产生通常性的退出状态码1,代表在命令中发生了未知错误。

exit 命令

默认状况下,shell脚本会以脚本中的最后一个命令的退出状态码退出。
使用exit命令能够改变这种行为,容许你在脚本结束时指定一个退出状态码。class

退出状态码是一个0~255的整数,参数太大,会被系统取模。变量

相关文章
相关标签/搜索