Linux shell 查看退出状态码

前言
在shell中运行的每个命令都使用了退出状态码告诉shell它已经运行完毕。退出状态码是一个0~255的整数值,在命令运行时由命令传给shell。可以捕获这个值并在脚本中使用。

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

Linux退出状态码

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

在这里插入图片描述
按照惯例,一个成功结束的命令的退出码状态码是0。如果一个命令结束时有错误,退出状态码就是一个正整数值。例如下面的随便输入命令:

在这里插入图片描述
提示信息:位找到命令。通过echo $?查看。无效的命令会返回一个退出状态码127。

例如创建一个test1.sh,没有给权限(chmod u+n test1.sh) 。退出码状态126表明用户没有执行命令的正确权限。

在这里插入图片描述

另一个会碰到的常见的错误是给某个命令提供无效的参数。

在这里插入图片描述
这会产生一般性的退出码1,表明在命令中发生了未知的错误。

总结
shell中运行的每个命令都会产生 一个退出状态码。退出状态码是一个0~255的数值,表明命令是否成功执行;如果没有成功,可以的原因是什么。退出状态码0表明命令成功执行了。

发布了71 篇原创文章 · 获赞 42 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/chen1415886044/article/details/103133243