Linux中退出码有哪些含义
揭开 Linux 中退出码的神秘面纱。了解什么是退出码,以及为什么和如何使用它们。
退出码(退出状态)可以告诉我们最后一次执行的命令的状态。在命令结束以后,我们可以知道命令是成功完成的还是以错误结束的。
其基本思想是,程序返回退出代码0
时表示执行成功,没有问题。代码1
或0
以外的任何代码都被视为不成功。
退出码除了 0 和 1 外还有很多值,我将在本文介绍它们。
Linux Shell 中的各种退出码
我们来快速了解一下 Linux Shell 中的主要退出码:
退出码 | 解释 |
---|---|
0 | 命令成功执行 |
1 | 通用错误代码 |
2 | 命令(或参数)使用不当 |
126 | 权限被拒绝(或)无法执行 |
127 | 未找到命令,或PATH 错误 |
128+n | 命令被信号从外部终止,或遇到致命错误 |
130 | 通过Ctrl+C 或SIGINT 终止(终止代码 2 或键盘中断) |
143 | 通过SIGTERM 终止(默认终止) |
255/* | 退出码超过了 0-255 的范围,因此重新计算(LCTT 译注:超过 255 后,用退出码对 256 取模) |
?
130
(SIGINT
或^C
)和143
(SIGTERM
)等终止信号是非常典型的,它们属于128+n
信号,其中n
代表终止码。
在简单了解了退出码之后,我们来看看它们的用法。
获取退出码
前一个命令执行的退出码存储在 特殊变量 $?
中。你可以通过运行以下命令来获取:
echo $?
我们在所有演示中都将使用它来获取退出代码。
请注意,exit
命令支持以带着前一条命令相同的退出码退出。
退出码 0
退出码0
表示命令执行无误,这是完成命令的理想状态。
例如,我们运行这样一条基本命令
neofetch echo $?
相关文章
-
mysql触发器有什么作用
mysql触发器作用1、在写数据之前,可以强制检查或转换数据等。2、触发器执行错误,前面成功执行的SQL将被撤销。导致事务回滚.触发器名称在表中必须是唯一的,数据库中的各个表之间也可以相同。在每一个时
>2023-11-26 -
mysql分析器如何理解
理解mysql分析器1、根据mysql语法写出sql后交给服务层,分析器对sql语句进行词法分析和语法分析。2、mysql分析器使用mysql语法规则进行验证和分析查询。例如验证是否使用错误的关键字,
>2023-11-26 -
mysql执行器是什么
mysql执行器说明1、调用存储引擎的API操作数据。2、优化器完成sql优化后,向执行器提供执行计划,执行器开始执行执行计划来操作数据。打开表时,执行器会根据表的引擎定义使用该引擎提供的接口。当你开
>2023-11-26 -
mysql分区表的介绍
mysql分区表的介绍1、对于用户来说,分区表是一个独立的逻辑表,但底层由多个物理子表组成。实现分区的代码实际上是通过封装一组底层表的对象,但对于SQL层来说,它是一个完全封装底层的黑盒。MySQL实
>2023-11-26 -
mysql分区的应用场景
mysql分区的应用场景说明1、最佳场景数据的时间序列性较强,则可按时间进行分区。2、如果数据有明显的热点,除了这部分数据,其他数据很少被访问,那么热点数据可以单独放在一个分区。这样这个分区的数据就可
>2023-11-26