Portability Interlude
In the previous post, the syntax
${2:-1}
was used in the implementation of die()
in the usual sense of providing a default value of 1
if parameter $2
is null or unset.According to The Single UNIX Specification, the above syntax is the standard-blessed way to obtain the intended effect; according to the Autobook, however, the notation
${2-1}
would be more portable. Experimentation with a few sh
-derived shells, shows that none chokes on either syntax; on the matter of portability it is always wise to acknowledge consolidated practice, so the implementation of die()
is hereby changed accordingly.
warn() {
echo 1>&2 "$0: $1"
}
die() {
warn "$1"; exit ${2-1}
}