【发布时间】:2021-01-08 05:44:46
【问题描述】:
我有一些命令,如果失败,我想重试最多 5 次这些命令。 所以我尝试循环执行这些命令。
我正在做类似下面的事情
# execute command1
n=0
until [ $k -ge 5 ]
do
command1 && break
sleep 1
n=$[$n+1]
if [ "$n" -eq 5 ]; then
exit 1
fi
done
# execute command3
k=0
until [ $k -ge 5 ]
do
command2 && break
sleep 1
k=$[$k+1]
if [ "$k" -eq 5 ]; then
exit 1
fi
done
# execute command3
s=0
until [ $s -ge 5 ]
do
command3 && break
sleep 1
s=$[$s+1]
if [ "$s" -eq 5 ]; then
exit 1
fi
done
是否可以在一个循环中执行所有 3 个命令,但有一个条件,每个命令应仅执行一次,并且还应按顺序执行,这意味着第二个命令仅应在第一次完成时执行。
可能还有其他一些不使用循环的方法。我的目标是执行所有命令,如果失败,它应该重试 5 次。我只能使用 linux 预装的实用程序。我无法安装任何第三方命令。
提前致谢。
【问题讨论】: