在shell脚本中,使用 $? 来获取上一次命令执行时的返回状态。实际使用中需要注意 $? 可能会被清零或覆盖,最好先使用
中间变量存起来,以后使用该中间变量;请看如下几种案例的 $? 值的变化:
1)shell A文件 调用 shell B文件
shell B文件:①若有 $?=2
② exit 【退回到shell A文件】
shell A文件:此时拿到的 $?=2
2) shell A文件 调用 shell B文件
shell B文件:① 若有 $?=2
② if [ $? -ne 0 ]; then 【条件判断为真】
exit 【退回到shell A文件】
if
shell A文件:此时拿到的 $?=0
3) shell A文件 调用 shell B文件
shell B文件:① 若有 $?=2
② if [ $? -eq 0 ]; then 【条件判断为假】
.........
if
③ exit 【退回到shell A文件】
shell A文件:此时拿到的 $?=0
4) shell A文件 调用 shell B文件
shell B文件:① 若有 $?=2
xxxyyyy...
② exit 4 【退回到shell A文件】
shell A文件:此时拿到的 $?=4
标签:脚本,文件,shell,若有,调用,exit,返回值,退回 From: https://www.cnblogs.com/learningendless/p/17967653