VirtualBox

source: vbox/trunk/tools/bin/retry.sh

Last change on this file was 98105, checked in by vboxsync, 16 months ago

tools/bin: Use correct hash-bang so zsh/macOS doesn't give us a 'sh' w/o the support for '-n' option in the echo command.

  • Property svn:eol-style set to LF
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 1.3 KB
Line 
1#!/usr/bin/env kmk_ash
2# $Id: retry.sh 98105 2023-01-17 15:17:40Z vboxsync $
3## @file
4# Script for retrying a command 5 times.
5#
6
7#
8# Copyright (C) 2009-2023 Oracle and/or its affiliates.
9#
10# This file is part of VirtualBox base platform packages, as
11# available from https://www.virtualbox.org.
12#
13# This program is free software; you can redistribute it and/or
14# modify it under the terms of the GNU General Public License
15# as published by the Free Software Foundation, in version 3 of the
16# License.
17#
18# This program is distributed in the hope that it will be useful, but
19# WITHOUT ANY WARRANTY; without even the implied warranty of
20# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21# General Public License for more details.
22#
23# You should have received a copy of the GNU General Public License
24# along with this program; if not, see <https://www.gnu.org/licenses>.
25#
26# SPDX-License-Identifier: GPL-3.0-only
27#
28
29# First try (quiet).
30"$@"
31EXITCODE=$?
32if [ "${EXITCODE}" = "0" ]; then
33 exit 0;
34fi
35
36# Retries.
37for RETRY in 2 3 4 5;
38do
39 echo "retry.sh: retry$((${RETRY} - 1)): exitcode=${EXITCODE}; retrying: $*"
40 "$@"
41 EXITCODE=$?
42 if [ "${EXITCODE}" = "0" ]; then
43 echo "retry.sh: Success after ${RETRY} tries: $*!"
44 exit 0;
45 fi
46done
47echo "retry.sh: Giving up: exitcode=${EXITCODE} command: $@"
48exit ${EXITCODE};
49
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use