1. 程式人生 > 其它 >shell 獲取命令執行的結果,獲取結果返回

shell 獲取命令執行的結果,獲取結果返回

shell指令碼中, 執行其他指令碼時,想判斷執行其他指令碼的結果是否成功

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

如果返回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