Shell Scripting / Bash Tricks
Stop your scripts from running blind when piped commands fail
🧩 The Challenge
You know that feeling when you pipe data into a command, it fails halfway, but your script keeps chugging along like everything is fine? I’ve spent way too many nights debugging corrupted databases because my scripts didn’t realize the first command in a pipe exploded.
💡 The Fix
Flip the pipefail option so that bash pays attention to the exit code of every single command in a pipeline, not just the last one.
set -o pipefail
⚙️ Why It Works
Setting this makes the entire pipeline return the exit code of the rightmost process that failed, which forces your script to stop execution if something goes sideways. Otherwise, bash defaults to ignoring errors from everything except the final command in the chain.
🚀 Pro-Tip: Always pair this with set -e to make sure your script actually dies the second an error occurs.
Linux Tips & Tricks | © ngelinux.com | 9/10/2026
