retry until
do.sh
#!/bin/bash
repeat() { while :; do $@ && return; sleep 1; done }
retryuntil() {
echo $(date +%F%n%T)
msg=`./job.sh 2>&1`
echo $msg
#echo "$msg" >> info.txt
result=$(echo "$msg" | grep "ERR")
if [[ "$result" != "" ]]
then
echo "Failed! Retry!"
return 1
else
echo "Done!"
return 0
fi
}
repeat retryuntil
job.sh
npm i
在job中进行操作,do.sh
中根据job.sh
的输出信息判定是否成功,失败重试。
until ./runme
do
sleep 10
done
while ! ./runme
do
sleep 10
done
max_retry=5
counter=0
until <YOUR_COMMAND>
do
sleep 1
[[ counter -eq $max_retry ]] && echo "Failed!" && exit 1
echo "Trying again. Try #$counter"
((counter++))
done
n=0
until [ "$n" -ge 5 ]
do
command && break # substitute your command here
n=$((n+1))
sleep 15
done
while true; do
nc 127.0.0.1 25565 < /dev/null
if [ $? -eq 0 ]; then
break
fi
sleep 1
done
echo "The command output changed!"