Created
October 26, 2017 16:45
-
-
Save sdr01810/694af3e281892e9da9979ebb54d7cb42 to your computer and use it in GitHub Desktop.
Shell function post_delayed_exit() and friends.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
delayed_exit_p= | |
function post_delayed_exit() { # exit_code explanation ... | |
local exit_code="${1:?missing argument: exit_code}" ; shift | |
: "${1:?missing argument: explanation}" | |
if [ -z "${delayed_exit_p}" ] ; then | |
delayed_exit_p="${exit_code}" | |
fi | |
if [ "${delayed_exit_p:?}" -eq 0 -a "${exit_code:?}" -eq "${delayed_exit_p:?}" ] ; then | |
echo 1>&2 ; echo 1>&2 "$@" ; delayed_exit_p="${exit_code}" | |
fi | |
if [ "${delayed_exit_p:?}" -gt 0 -a "${exit_code:?}" -ge "${delayed_exit_p:?}" ] ; then | |
echo 1>&2 ; echo 1>&2 "$@" ; delayed_exit_p="${exit_code}" | |
fi | |
} | |
function check_for_delayed_exit() { | |
if [ -n "${delayed_exit_p}" ] ; then | |
echo 1>&2 ; exit "${delayed_exit_p}" | |
fi | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment