Exit status: код результата команды
Узнайте, что сообщает код завершения и почему ненулевое значение не всегда означает одинаковую ошибку. Разберите статус отдельной команды и pipeline.
Значение термина
Код завершения передаёт вызывающей стороне компактный результат работы команды. По распространённому соглашению ноль означает успех, а остальные значения имеют смысл, определённый программой. Для принятия решения нужно знать контракт именно этой команды.
Пример для понимания
grep различает найденные совпадения, отсутствие совпадений и ошибку. Пустой результат uniq при отборе групп может оставаться успешным. Поэтому одинаково пустой stdout у разных программ не означает одинаковый статус или одинаковую причину.
Что важно различать
Оболочка получает также сведения о завершении по сигналу и представляет их по своим правилам. Статус pipeline по умолчанию в Bash связан с последним звеном; pipefail меняет правило. Без контекста оболочки нельзя оценить надёжность всей цепочки по одному числу.
Как использовать это знание
Проверяйте код сразу после нужной операции и сопоставляйте его со stderr и конечным состоянием. Успешная запись не подтверждает, что выбран правильный файл или соблюдены требования задачи. Именно поэтому практикумы проверяют данные отдельно от exit status.
Технические источники
Использованы для проверки поведения. Объяснения и учебные сценарии созданы для проекта.
- Официальное руководство: exit-status
Проверка текста: 2026-09-11. Нативное исполнение на всей матрице дистрибутивов ещё не подтверждено.
Основные понятия общие для Linux. Состав утилит, версии и системные настройки зависят от окружения.
От материала к практике
Выберите следующую тему в каталоге Linux или проверьте знакомые команды в учебном терминале.