Stop your bash scripts from puking when variables are unset
Shell Scripting / Bash Tricks
Stop your bash scripts from puking when variables are unset
🧩 The Challenge
You finally finish a long script, run it in production, and it proceeds to delete everything in your root directory because a variable you thought was set was actually empty. I’ve seen entire dev environments wiped out because of a simple typo in a variable name that bash happily treated as an empty string.
💡 The Fix
Flip the nounset shell option to make bash exit immediately if you try to use a variable that hasn’t been defined yet. It’s an easy safety net that catches your dumbest typos before they become expensive mistakes.
set -u
⚙️ Why It Works
Setting this flag forces the shell to treat any expansion of an unset parameter as an error, which halts execution rather than letting the script blindly proceed with null values. It is the easiest way to avoid those silent, script-destroying logic errors.
🚀 Pro-Tip: Add set -e at the top too so your script dies the second any command fails, not just the last one.
Linux Tips & Tricks | © ngelinux.com | 9/2/2026
