A retry loop should have a clear maximum so automation can recover from transient failures without running forever.

Program

Play the script to choose the maximum attempt count and watch the loop stop when the modeled action succeeds.

retry_loop.sh
#!/usr/bin/env bash

max_attempts=
attempt=1
result="pending"
while [ "$attempt" -le "$max_attempts" ]; do
    if [ "$attempt" -eq "$max_attempts" ]; then
        result="ok"
        break
    else
        attempt=$((attempt + 1))
    fi
done
echo "attempts=$attempt result=$result"
#!/usr/bin/env bash

max_attempts=
attempt=1
result="pending"
while [ "$attempt" -le "$max_attempts" ]; do
    if [ "$attempt" -eq "$max_attempts" ]; then
        result="ok"
        break
    else
        attempt=$((attempt + 1))
    fi
done
echo "attempts=$attempt result=$result"
retry A retry loop repeats an operation after a failed attempt.
maximum The maximum attempt count prevents an infinite loop.
break `break` exits the loop immediately after success.