Что означает $? в 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$? полезен для обработки ошибок и автоматизации в скриптах.