BTW, is this kosher:
$ if [ "$1" = "start" ]; then
if [ "$1" = 'null' ] && return
fi
(no message) and:
$ if [ "$1" = "start" ]; then
# if [ "$1" = 'null' ] && return
fi
(no message) but:
$ # if [ "$1" = "start" ]; then
if [ "$1" = 'null' ] && return
# fi
./test2:7: parse error near `\n'
... I just noticed this in some of my code. Seems to me that samples
one and two above should throw an error because there are two 'fi'
needed but they seem to be sharing the single one. And sample three
gets it right, no?