linux提供$?特殊变量来保存最后一条命令执行结束的退出状态。执行完一条命令后,立即执行echo $?,可以查看最后一条命令的退出状态值。
正常的情况下,命令成功执行完成的退出状态是0,如果非0,则命令执行有错。
该命令可以用于检查命令是否正确执行,比如在解压包的时候,检查解压包是否成功十分有效。
常见的状态码有0、1、126、127
例1:
11]$ date
2012年 04月 11日 星期三 22:41:34 CST [sun@redhat62 11]$ echo $? 0 [sun@redhat62 11]$例二:
[sun@redhat62 11]$ cuowude
-bash: cuowude: command not found [sun@redhat62 11]$ echo $? 127 [sun@redhat62 11]$退出状态代码:
0 命令成功完成
1通常的未知错误
2误用shell命令
126命令无法执行
127没有找到命令
128无效的退出参数
128+x使用Linux信号x的致命错误。
130使用Ctrl-C终止的命令
255规范外的退出状态