Files
gaboshlib/gaboshlib/g_retrycmd.bashfunc
2022-12-02 14:59:38 +01:00

21 lines
507 B
Bash

#!/bin/bash
function g_retrycmd {
# If retry delay not set default to 5 seconds
[ -z "$g_tries_delay" ] && g_tries_delay=5
# If retrys not set default to 5 times
[ -z "$g_tries" ] && g_tries=5
local g_try=0
until [ $g_try -eq $g_tries ]
do
((g_try=g_try+1))
>&2 echo "$(g_date_print) Try $g_try of $g_tries"
echo "$@" >$g_tmp/g_retrycmd.cmd
bash $g_tmp/g_retrycmd.cmd && break
g_return=$?
[ $g_try -eq $g_tries ] && return $g_return
sleep $g_tries_delay
done
}