linux 退出码
2014年12月23日
这篇文章,从2014年写到2015年,至于为什么呢?因为typecho的markdown貌似不支持表格,打击了积极性,现在通过在markdown里插入html语句,然后画了表。这篇文章是关于shell环境下,各个命令退出码的含义,分享给有需要的的人!
在Shell执行命令出错,通过echo $?可以查看上一个命令的退出状态,以下表格中是各个标准出错码表示的含义。
退出码 | 含义 | 例子 | 注释 |
---|---|---|---|
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范围的退出码 |
了解以上退出码的含义除了方便定位问题外,在自己编写程序的过程中,也应该尽量遵守这个规范。
当前暂无评论 »