`bash
set -u # The script crashes if a variable is uninitialized
set -e # The script crashes if the exit code of a command is not zero
`
- Use
"$@"instead of$@ - Use quotes around filenames
- Use
mkdir -pto create a full path - Use ``rm || true `` to avoid a non-zero exit
- Use traps when using temporary files: