Коды выхода в bash
По дефолту 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. “Файлы и не только” ⇒ “Код выхода”