aboutsummaryrefslogtreecommitdiff
path: root/bin/try
diff options
context:
space:
mode:
Diffstat (limited to 'bin/try')
-rwxr-xr-xbin/try8
1 files changed, 8 insertions, 0 deletions
diff --git a/bin/try b/bin/try
index 3e5af2dc..5b7378d2 100755
--- a/bin/try
+++ b/bin/try
@@ -89,12 +89,20 @@ trap cleanup EXIT
# if we succeed on any of them
declare -i ret
for (( atti = 1 ; atti <= attc ; atti++ )) ; do
+
+ # If verbose, print the number of this attempt
((verbose)) && printf '%s: Attempt %u/%u to run `%s` ...\n' \
"$self" "$atti" "$attc" "${cmd[*]}"
+
+ # Try running the command. If it succeeds, report failure if verbose, and
+ # exit 0.
if "${cmd[@]}" 2>>"$errbuf" ; then
((verbose)) && printf '%s: Success!\n' \
"$self"
exit 0
+
+ # If it fails, keep the exit value, report failure, and wait until the next
+ # attempt.
else
ret=$?
((verbose)) && printf '%s: Failure!\n' \