Код выхода 0 — успех, ненулевой — ошибка; пайплайны и CI опираются на него; set -e прерывает скрипт на первом fail.
Разбор
echo $? сразу после команды.
- В пайпе без
pipefail статус = последняя команда — маскирует mid-fail.
- Сигналы дают 128+N (например 137 ≈ SIGKILL/OOM).
- Явный
exit 1 в скриптах лучше «тихого» падения.
Итог
Exit code — контракт автоматизации; учите скрипты и unit'ы его уважать.