Что означает $? в Bash?

Этот вопрос проверяет понимание механизма кода завершения команды и его использование для проверки ошибок.

Короткий ответ

$? содержит код завершения последней команды:

-0 — успешное выполнение.

-1 и другие — ошибка.
 

Пример:

ls /nonexistent_folder
echo $?  # Выведет 2 (ошибка)

Длинный ответ

Каждая команда в Bash возвращает код завершения (exit status), который указывает на её успех или ошибку.

Пример успешной команды:

echo "Hello"
echo $?  # Выведет 0

Пример ошибки:

ls /nonexistent
echo $?  # Выведет 2 (ошибка)

Использование в скриптах:

if ls /nonexistent; then
  echo "Успешно"
else
  echo "Ошибка, код: $?"
fi


$? полезен для обработки ошибок и автоматизации в скриптах.

Уровень

  • Рейтинг:

    1

  • Сложность:

    3

Навыки

  • Bash

Ключевые слова

Подпишись на Python Developer в телеграм