몇 번의 반복 후에 기본 스크립트 오류를 ​​만드는 방법

몇 번의 반복 후에 기본 스크립트 오류를 ​​만드는 방법

아래 의사코드에 대한 논리를 구축하려고 합니다.

if 'main' job fails
 sleep 60
  re-trigger main job for 3 times.
after re-triggering for 3 times if it still fails , 
then kill the main job .




ksh 123.ksh ##main command
if [[ $?!=0 ]]
then
sleep 30
    ksh 123.ksh
if [[ $?!=0 ]]
then
sleep 30
    ksh 123.ksh

fi
fi

여기에 1달러를 더 추가할 수 있나요? 확인하고 30번 잠을 자면 3~4번 계속할 수 있습니다. 그러나 나는 좀 더 일반적인 방법을 찾고 있습니다.

세 번 다시 트리거하고 실패하는 논리를 파악할 수 없습니다.

답변1

한 가지 옵션:

#! /bin/sh -
remaining_attempts=3; until main-job; do
  if [ "$(( remaining_attempts -= 1 ))" -eq 0 ]; then
    echo>&2 "Giving up"
    exit 1
  fi
  sleep 60
done

관련 정보