【译】Linux 中退出码的含义

【译】Linux 中退出码的含义

💡 原文中文,约2900字,阅读约需7分钟。
📝

内容提要

本文介绍了Linux中退出码的含义和用法,包括0表示成功,1表示一般错误,2表示语法错误,126表示权限错误,127表示未找到命令,128+n表示命令被信号终止,130表示通过Ctrl+C中断,143表示通过SIGTERM终止。了解退出码对于排查问题很有帮助。

🎯

关键要点

  • 退出码用于表示命令执行的状态,0表示成功,1表示一般错误。
  • Linux Shell 中的主要退出码包括:0(成功),1(通用错误),2(语法错误),126(权限错误),127(未找到命令),128+n(命令被信号终止),130(通过Ctrl+C中断),143(通过SIGTERM终止)。
  • 获取退出码的方法是使用特殊变量 $?。
  • 退出码 0 表示命令成功执行,退出码 1 表示命令以一般错误结束。
  • 退出码 2 表示命令有语法错误或参数使用不当。
  • 退出码 126 表示命令因权限错误未被执行。
  • 退出码 127 表示未找到命令,通常是因为命令拼写错误或不在 $PATH 中。
  • 退出码 128+n 系列表示命令因致命错误而终止,n 为信号编号。
  • 退出码 130 表示通过 Ctrl+C 中断,退出码 143 表示通过 SIGTERM 终止。
  • 如果退出码超过 255,会被重新计算,保持在 0 至 255 之间以确保兼容性。
  • 了解退出码有助于排查问题,特别是在 Shell 脚本中使用时。
➡️

继续阅读