2017-07-03 112 views
0

我試圖停止處理帶IF條件的shell腳本。不從shell腳本中退出

output7=${output7##*[[:space:]]} 

if [[ $output4 -gt 0 && $output5 -gt 0 && $output6 -gt 0 && $output7 -gt 0 ]] 
then echo 'Success' 
else echo 'Failure'|| exit 0 
fi 

echo 'Process Completed' 

它正在打印下面的消息,但下一條語句也正在執行。輸出是:

Failure 
Process Completed 

任何人都可以告訴我爲什麼它不退出腳本。

回答

2

這裏的問題在於你說「如果echo 'Failure'失敗,然後exit 0」,這不是你想要的。你會想要

echo 'Failure' 
exit 1 

改爲。整個部分的地道Bash風格爲:

if [[ $output4 -gt 0 ]] && [[ $output5 -gt 0 ]] && [[ $output6 -gt 0 ]] && [[ $output7 -gt 0 ]] 
then 
    echo 'Success' 
else 
    echo 'Failure' 
    exit 1 
fi