shell 获取命令执行的结果,获取结果返回

shell脚本中, 执行其他脚本时,想判断执行其他脚本的结果是否成功

if [ $? -ne 0 ];then
    echo "fail"
else:
    echo "success"
fi

如果返回0,代表命令执行成功

返回1或者其他不等于0的值,代表失败

-eq //equals等于
-ne //no equals不等于
-gt //greater than 大于
-lt //less than小于
-ge //greater equals大于等于
-le //less equals小于等于

当我们想获取上一个shell脚本的返回值时,可用  exit(退出当前程序)

exit 0  代表当前程序是执行成功,正常退出
exit 1  代表当前程序执行失败,失败结束并退出

以下例子为:我执行一个脚本,如果失败的话,我重试一遍,再次失败我就异常退出

sh myshell.sh  # 第一次执行myshell.sh脚本
if [ $? -ne 0 ];then  # 判断以上脚本执行是否成功
  sh myshell.sh  # 如果失败再次启动  if [ $? -ne 0 ];then
    python3 $dingding $1/${pro_name[$i]}  # 这里是失败发送钉钉报警
    exit 1  # 失败退出
  fi
fi