几次迭代后如何使主脚本出错

几次迭代后如何使主脚本出错

我正在尝试为下面的伪代码构建逻辑:

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

这里我可以再加一美元吗?检查然后做一个睡眠30,这样我可以继续3或4次。但我正在寻找更通用的方式。

我无法想出重新触发 3 次并失败的逻辑。

答案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

相关内容