Для обнаружения конкретных ошибок в Bash можно использовать стандартные зарезервированные коды возврата, которые имеют особое значение. 2
Некоторые из них и их смысл:
- 0 — успешное выполнение команды. 25
- 1 — общая ошибка, например, «деление на ноль». 13
- 2 — неверное использование встроенных команд оболочки. 13
- 126 — вызываемая команда не может быть выполнена, например, из-за проблем с правами доступа или когда вызван на исполнение неисполняемый файл. 13
- 127 — «команда не найдена», проблема связана либо с переменной окружения $PATH, либо с неверным написанием имени команды. 13
- 128 — неверный аргумент команды exit. 13
- 128+n — фатальная ошибка по сигналу «n». 1
- 130 — завершение по Control-C. 1
Рекомендуется использовать для обычных кодов возврата значения от 0 до 125, а значения выше 128 резервировать для особых случаев, таких как сигналы или ошибки. 2
Чтобы проверить код возврата, можно использовать специальную переменную $?, которая хранит статус выхода последней выполненной команды или скрипта. 25