查看指令的返回状态码
类似于C语言的函数返回值,其实每一个shell指令,都会有一个返回的状态码,上一条指令结束之后,会返回一个0~255范围内的整数,一般成功退出都会返回0,查询状态返回值方式是读取$?的值。
例如输入下面两条命令:
date
echo $?
输出结果为:
0
输入指令为:
abcdef
echo $?
输出结果为:
127
这里的127,代表无效指令的返回状态码。
shell脚本的退出状态码
当shell脚本运行结束之后,shell脚本走也有一个返回码,脚本的返回码就是shell脚本最后一条指令的返回码。不过也可以用exit指令来指定返回码。例如在test8.sh脚本中输入:
#!/bin/bash
date
exit 4
然后在终端执行该脚本并打印$?值:
./test8.sh
输出:
2019年 12月 01日 星期日 22:54:10 CST
输入:
echo $?
输出:
4