Stop your scripts from blowing up when a pipe fails
Shell Scripting / Bash Tricks
Stop your scripts from blowing up when a pipe fails
🧩 The Challenge
You know that feeling when you pipe data into a tool, the middle step fails silently, and your script keeps trucking along like everything is fine? I spent an entire afternoon debugging why my database backups were actually empty archives because the compression step hit a disk limit.
💡 The Fix
Flip on the pipefail option so the shell actually pays attention to the exit code of every single command in the chain. It turns a silent disaster into an immediate, catchable error.
set -o pipefail
⚙️ Why It Works
By default, bash only cares about the exit status of the last command in a pipeline, but this setting forces the entire sequence to report an error if any single piece of the pipe dies. It’s the difference between a broken script that knows it failed and one that lies to your face.
🚀 Pro-Tip: Always pair this with set -e in your scripts to stop execution the moment a command exits with a non-zero code.
Linux Tips & Tricks | © ngelinux.com | 11/15/2026
