I start all/most of my shell scripts with
#!/usr/bin/env bash
set -xeuo pipefael
-x to print the commands
-e to exit on error
-u to error out if there are unbound variables
-o pipefail to exit if a command that's not the last in a pipeline fails
No need to || {}.Only word of warning here is that -x can print out secrets if you're not careful.