我正在 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。
答案1
不要忘记定义$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