Created
June 15, 2017 02:50
-
-
Save brianoflan/366ce9ef3fd899516f33255d98676f27 to your computer and use it in GitHub Desktop.
say_do, die, execute, etc.
This file contains hidden or 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
#!/bin/bash | |
main() { | |
execute echo hi ; | |
execute true ; | |
# execute false || echo "$? from execute false" ; | |
# { execute false; } || echo "$? from execute false" ; | |
( execute false; ) || echo "$? from execute false" ; | |
say_do echo howdy ; | |
say_do true ; | |
say_do false || echo "$? from execute false" ; | |
vexecute true ; | |
# vexecute false || echo "$? from vexecute false" ; | |
# { vexecute false; } || echo "$? from vexecute false" ; | |
( vexecute false; ) || echo "$? from vexecute false" ; | |
} | |
execute() { | |
"$@" || die "ERROR: '$?' from {$*}." | |
} | |
vexecute() { | |
local e='' | |
echo "$@" 1>&2 ; | |
"$@" || e=$? | |
echo 1>&2 ; | |
[[ 0 -eq $e ]] || die "ERROR: '$?' from {$*}." | |
} | |
say_do() { | |
echo "$@" 1>&2 ; | |
"$@" | |
} | |
vsay_do() { | |
local e='' | |
say_do "$@" || e=$? | |
echo 1>&2 ; | |
return $e | |
} | |
die() { echo $1 ; exit 1 ; } | |
main "$@" | |
# |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment