| From: Scott Allen <mlxxxp@gmail.com>
| The script actually contained
| rm -rf {foo}/{bar}
|
| The error caused foo and bar to be null so the result was
| rm -rf /
I don't know what was processing the commands. If it was a normal
shell, it ought to have been
rm -rf ${foo}/${bar}
This is EXACTLY why I start all my shell scripts with
set -eu
The e means stop on an unexpected non-zero return code.
The u means that referenceing an unset variable is an error.