Linux 系统上程序的退出码

退出 含义 例子 注释
0 正常退出 echo “hello” 正常
1 普通错误 df -abcd  
2 shell内建的错误 empty_function() {} 缺少关键字或命令,或者权限问题
126 调用的命令不可执行 /dev/null 权限问题,或者是不可执行的命令
127 找不到命令 not_command 可能命令不存在,或者未加入环境变量$PATH
128 无效的退出码 exit 6.18 exit只接受整型退出码
128+n 致命的信号n kill -9 $PPID of script 返回137(128+9)
130 被Ctrl-C终止 Ctrl-C Ctrl-C是错误信号2,(130=2+128)
255* 退出状态超过范围 exit -1 exit只接受0 ~ 255范围的退出码

注:

  1. 退出码只会在 0 ~ 255 之间,如果你使用 <0 或者 >255 的退出码,你猜会怎么样?
  2. 因为 shell 可能会使用大于 125 的状态码,所以在编写程序时,退出码最好在 0~125 之间
hah
Copyleft - All rights reversed. The internet is free and so is my content.