Shell
ksh 根據值中斷並繼續
我在 KSH shell 中執行下面的腳本。我想執行循環6次來呼叫Java程序,如果沒有發現異常,那麼它應該返回= 0。如果在所有 6 次迭代中,我們發現任何異常,那麼它應該返回 3。
integer max=7;i=1 while [[ $i -lt $max ]] do Java call statement; error_cnt=`$processing_file | grep -i excption | wc -l ` if (( $error_cnt == 0 )) then return_code=0; break else Continue with java call fi (( i = i + 1 )) done
如果在所有 6 次迭代中我們仍然發現異常,那麼它應該返回 3。
不要忘記定義
$processing_file
. 另外,您可以直接grep
使用該文件然後,如果沒有錯誤,則您將跳出循環,如果有錯誤則要跳出。然後,在您的循環中斷或完成後,您想要實際返回
$return_code
.integer max=7;i=1 integer return_code=0 while [[ $i -lt $max ]] do Java call statement; error_cnt=`grep -i exception $processing_file | wc -l` if (( $error_cnt != 0 )) then return_code=3; break # you don't need an else here, since continuing is the default fi (( i = i + 1 )) done # return with the code you specify return $return_code