По дефолту bash скрипт завершается с кодом выхода последней выполненной команды.
В bash код выхода 0 означает успех, а ненулевое значение - неудачу, ибо есть один оптимальный способ достичь успеха и множество способов зафейлиться. + Важно сообщить как именно скрипт зафейлился.
Код выхода состоит всего из 8-и бит ⇒ максимальное значение - 255, но юзать можно только коды не больше 125 (коды 126 и выше зарезервированы):
| Код завершения / возврата | Описание |
|---|---|
| 0 | Успех |
| 1, 3-125 | Коды ошибок, определяемые скриптом |
| 2 | Некорректное использование встроенных команд bash |
| 126 | Команда найдена, но файл не имеет разрешения на выполнение |
| 127 | Команда не найдена |
| 128-255 | Команда завершилась по сигналу N-128 |
exit n - команда, завершающая сценарий с кодом выхода (где n - код выхода; может быть не только числом). При чем важно всегда указывать код выхода, хоть n - необязательный аргумент.
Соус: Книга Идиомы Bash → Глава 5. Файлы и не только → Код выхода