The catch-all failure, and how to stop guessing.
Almost every command uses 1 for generic failure. The exit code tells you nothing; the last lines of stderr usually do.
set -o pipefail
./build.sh | tee build.logWithout pipefail a pipeline reports the status of the last command, so an early failure looks like success.
set -euo pipefailcommand; echo "status=$?"Scope: failure mode: The catch-all failure, and how to stop guessing.
CliHelper documents failure modes of third-party command line tools. No software is stored or distributed here.