ksh는 값에 따라 중단되고 계속됩니다.

ksh는 값에 따라 중단되고 계속됩니다.

KSH 셸에서 다음 스크립트를 실행하고 있습니다. Java 프로그램을 호출하기 위해 루프를 6번 실행하고 예외가 발견되지 않으면 =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

관련 정보