22 lines
504 B
Bash
22 lines
504 B
Bash
retry() {
|
|
local retries=$1 # number of retries
|
|
local wait_time=$2 # waiting time
|
|
shift 2
|
|
local count=0
|
|
|
|
cd $(pwd)
|
|
|
|
until "$@"; do
|
|
exit_code=$?
|
|
count=$((count + 1))
|
|
if [ $count -lt $retries ]; then
|
|
echo "Attempt $count/$retries failed with exit code $exit_code. Retrying in $wait_time seconds..."
|
|
sleep $wait_time
|
|
else
|
|
echo "Attempt $count/$retries failed with exit code $exit_code. No more retries left."
|
|
return $exit_code
|
|
fi
|
|
done
|
|
return 0
|
|
}
|