#!/bin/false # Copyright 2016 The Rust Project Developers. See the COPYRIGHT # file at the top-level directory of this distribution and at # http://rust-lang.org/COPYRIGHT. # # Licensed under the Apache License, Version 2.0 or the MIT license # , at your # option. This file may not be copied, modified, or distributed # except according to those terms. # This file is intended to be sourced with `. shared.sh` or # `source shared.sh`, hence the invalid shebang and not being # marked as an executable file in git. # See http://unix.stackexchange.com/questions/82598 function retry { echo "Attempting with retry:" "$@" local n=1 local max=5 while true; do "$@" && break || { if [[ $n -lt $max ]]; then ((n++)) echo "Command failed. Attempt $n/$max:" else echo "The command has failed after $n attempts." exit 1 fi } done }