TGViewer
DevOps Portal | Linux DevOps Portal | Linux @loose_code · 13.2K subscribers
Post #219 147
🚀 Статусы выхода в BASH: понимание и практическое применение 🧐

Сегодня мы поговорим о статусах выхода в BASH - мощном инструменте для обработки ошибок и контроля выполнения команд и скриптов.

Что такое статус выхода?

Каждая программа в мире Linux возвращает целое число от 0 до 255 как результат своей работы. Это число называется статусом выхода, и оно говорит о том, завершилась ли программа успешно (когда статус 0) или произошла ошибка (все остальные значения).

Примеры статусов выхода:

- 0: Успешное завершение команды/программы.
- 126: Команда/программа найдена, но не является исполняемой (например, "Permission denied").
- 127: Программа не найдена ни в одном из путей $PATH или отсутствует в системе.

Как отследить статус выхода?

В bash есть специальная переменная "$?", которая хранит статус выхода последней выполненной команды. Например:

# date
# echo $?
0

Здесь статус выхода 0, что означает успешное завершение команды "date". Теперь давайте попробуем что-то несуществующее:

# non_existent_command
# echo $?
127

Как видите, код выхода 127 говорит о том, что команда не была найдена.

Применение статусов выхода:

Статусы выхода позволяют нам строить гибкую логику в скриптах и обрабатывать ошибки. Вот пример:

#!/bin/bash

date
code=$?

if test $code -eq 0
then
echo "Успешно"
else
echo "Ошибка"
fi

Этот скрипт выводит "Успешно", если команда "date" завершилась успешно, и "Ошибка" в противном случае.

Пользовательские статусы выхода:

Вы также можете явно задавать статусы выхода в своих скриптах. Например, если вам нужно прервать выполнение скрипта с ошибкой:

#!/bin/bash

date
exit 1
echo "Этот текст не будет выведен"

Здесь "exit 1" прерывает выполнение скрипта с кодом выхода 1.

Статусы выхода - мощный инструмент для управления логикой скриптов и обработки ошибок. Зная их, вы сможете увереннее работать с bash и создавать более надежные скрипты.

Надеюсь, этот пост поможет вам лучше понять статусы выхода в bash и использовать их в своей работе! 🔍💡 #Linux #Bash #СтатусыВыхода
  • 👍 3
More from @loose_code
  1. Oct 12, 2026DevOps-инструмент недели: Popeye Со временем в Kubernetes-кластерах могут накапливаться не…
  2. Oct 12, 2026Безопасный код ≠ безопасный прод 16 октября на онлайн-трансляции PSD 2026 команда AppSec P…
  3. Oct 8, 2026Интересный и полезный опенсорс-инструмент Как часто приходилось открывать консоль AWS и др…
  4. Oct 8, 2026В этом туториале показано, как разворачивать и масштабировать большие языковые модели (LLM…
  5. Oct 6, 2026Как работает Kubernetes Cluster Autoscaler? Базовый флоу выглядит так Pending Pod → Cluste…
  6. Oct 1, 2026Обработка миллионов файлов – это та точка, где большинство распределённых систем хранения…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →