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}
}

0 Comments:
Post a Comment
<< Home