shell 獲取命令執行的結果,獲取結果返回
阿新 • • 發佈:2021-06-25
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