exit_if_error() { local exit_code=$1 shift [[ $exit_code ]] && # do nothing if no error code passed ((exit_code != 0)) && { # do nothing if error code is 0 printf 'ERROR: %s\n' "$@" >&2 # we can use better logging here exit "$exit_code" # we could also check to make sure # error code is numeric when passed } }