This project was very problematic before `set -e` was introduced; further for automatic builds to detect something went wrong ensuring unhandled exits are propagated is needed -- though I won't disagree shell script error handling is convoluted.

The test `[[ -z "$VBM" ]]` will cause an error when using unset variable detection `set -o nounset`:
```
$ set -o nounset
$ [[ -z "$VBM" ]] || echo 'VBM unset!'
bash: VBM: unbound variable
```

The braces are not necessary but something I do to ensure the variable is explicitly called out to the eye. Certainly with `set -o nounset` it is safer if one desires to omit the braces; I simply didn't.