1、$?表示shell执行的上一条命令的退出状态值,退出状态为0,代表上一条命令执行成功并退出,
2、返回值为1表示,上一条命令执行失败
3、如果系统调用失败,则返回值为2
4、如果系统调用失败,则返回值为127,意思是命令没找到,command not found
0表示成功(Zero - Success)
非0表示失败(Non-Zero - Failure)
2表示用法不当(Incorrect Usage)
127表示命令没有找到(Command Not Found)
126表示不是可执行的(Not an executable)
=128 信号产生
补充一下,就是:
$0:是脚本本身的名字;
$#:是传给脚本的参数个数;
$@:是传给脚本的所有参数的列表,即被扩展为"$1" “$2” “$3"等;
$*:是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个,即被扩展成”$1c$2c$3",其中c是IFS的第一个字符;
$$:是脚本运行的当前进程ID号;
$?:是显示最后命令的退出状态,0表示没有错误,其他表示有错误;