Size: 100
Comment: remove (leave a pointer to 035 for now)
|
Size: 1223
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
== Removed == If you were looking for option processing, see [[BashFAQ/035]]. |
== Common utility functions (warn, die) == (If you were looking for option processing, see [[BashFAQ/035]].) The following functions are frequently asked for in #bash, so we hope you find them useful. {{{ ## # warn: Print a message to stderr. # Usage: warn "message" # warn() { printf '%s\n' "$@" >&2 } ### ### The following three "die" functions ### depend on the above "warn" function. ### ## # die (simple version): Print a message to stderr # and exit with the exit status of the most recent # command. # Usage: some_command || die "message" # die () { local st="$?" warn "$@" exit "$st" } ## # die (explicit status version): Print a message to # stderr and exit with the exit status given. # Usage: if blah; then die "message" status_code; fi # die() { local st="$2" warn "$1" exit "$st" } ## # die (optional status version): Print a message to # stderr and exit with either the given status or # that of the most recent command. # Usage: some_command || die "message" [status code] # die() { local st="$?" case "$2" in *[^0-9]*) :;; *) st="$2";; esac warn "$1" exit "$st" } }}} ---- CategoryShell |
Common utility functions (warn, die)
(If you were looking for option processing, see BashFAQ/035.)
The following functions are frequently asked for in #bash, so we hope you find them useful.
## # warn: Print a message to stderr. # Usage: warn "message" # warn() { printf '%s\n' "$@" >&2 } ### ### The following three "die" functions ### depend on the above "warn" function. ### ## # die (simple version): Print a message to stderr # and exit with the exit status of the most recent # command. # Usage: some_command || die "message" # die () { local st="$?" warn "$@" exit "$st" } ## # die (explicit status version): Print a message to # stderr and exit with the exit status given. # Usage: if blah; then die "message" status_code; fi # die() { local st="$2" warn "$1" exit "$st" } ## # die (optional status version): Print a message to # stderr and exit with either the given status or # that of the most recent command. # Usage: some_command || die "message" [status code] # die() { local st="$?" case "$2" in *[^0-9]*) :;; *) st="$2";; esac warn "$1" exit "$st" }