← Назад ко всем вопросам

Как узнать Exit Code выполненной команды в Linux

1️⃣ Как кратко ответить

Чтобы узнать Exit Code последней выполненной команды в Linux, используйте переменную $?. Она возвращает числовое значение, которое указывает на успешность или неуспешность выполнения команды: 0 — успешное выполнение, любое другое значение — ошибка.

2️⃣ Подробное объяснение темы

В Linux и других Unix-подобных системах каждая команда, которая выполняется в командной строке, возвращает числовое значение, известное как "Exit Code" или "код завершения". Этот код используется для определения успешности или неуспешности выполнения команды.

Зачем нужен Exit Code

Exit Code позволяет автоматизировать обработку ошибок в скриптах и программах. Например, если команда завершилась с ошибкой, скрипт может принять соответствующие меры, такие как повторная попытка выполнения команды или вывод сообщения об ошибке.

Как работает Exit Code

  • 0: Успешное выполнение команды. Это стандартный код, который возвращается, если команда завершилась без ошибок.
  • Любое другое значение: Ошибка. Разные команды могут возвращать разные коды ошибок, чтобы указать на различные типы проблем.

Как узнать Exit Code

После выполнения любой команды в терминале, вы можете узнать её Exit Code, обратившись к специальной переменной $?. Эта переменная хранит код завершения последней выполненной команды.

Пример использования

Рассмотрим пример, где мы выполняем команду ls для вывода списка файлов в директории, а затем проверяем её Exit Code.

ls /some/directory
echo $?
  • ls /some/directory: Эта команда пытается вывести список файлов в указанной директории /some/directory.
  • echo $?: Эта команда выводит Exit Code предыдущей команды ls.

Комментарии к коду

  • ls /some/directory: Если директория существует и доступна, команда выполнится успешно и вернёт 0. Если директория не существует или недоступна, будет возвращён код ошибки, например, 2.
  • echo $?: Эта команда выводит на экран Exit Code, который был возвращён командой ls. Если ls завершилась успешно, будет выведено 0. В противном случае будет выведен код ошибки.

Применение в скриптах

В скриптах Exit Code часто используется для принятия решений. Например:

#!/bin/bash
​
ls /some/directory
if [ $? -eq 0 ]; then
  echo "Directory exists."
else
  echo "Directory does not exist."
fi
  • if [ $? -eq 0 ]; then: Проверяет, равен ли Exit Code 0, что указывает на успешное выполнение команды.
  • echo "Directory exists.": Выполняется, если Exit Code равен 0.
  • echo "Directory does not exist.": Выполняется, если Exit Code не равен 0.

Этот скрипт проверяет существование директории и выводит соответствующее сообщение в зависимости от Exit Code команды ls.

Тема: Linux / Unix
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки