Как получить статус кода выхода последней команды в Bash

Чтобы получить статус кода завершения последней команды, выполненной в сценарии Bash или терминале, вы можете использовать специальную переменную $?. Вот несколько способов доступа к коду выхода, а также примеры кода:

Метод 1: прямой доступ к $?:

# Command 1
ls
exit_status=$?
echo "Exit status: $exit_status"
# Command 2
grep "pattern" file.txt
exit_status=$?
echo "Exit status: $exit_status"

Метод 2. Использование оператора if:

# Command 1
ls
if [ $? -eq 0 ]; then
    echo "Command 1 succeeded"
else
    echo "Command 1 failed"
fi
# Command 2
grep "pattern" file.txt
if [ $? -eq 0 ]; then
    echo "Command 2 succeeded"
else
    echo "Command 2 failed"
fi

Метод 3. Сохранение кода выхода в переменной:

# Command 1
ls
exit_status=$?
echo "Exit status: $exit_status"
# Command 2
grep "pattern" file.txt
exit_status=$?
echo "Exit status: $exit_status"

Метод 4. Использование команды trap:

# Define a trap to capture the exit code
trap 'exit_status=$?' EXIT
# Command 1
ls
echo "Exit status: $exit_status"
# Command 2
grep "pattern" file.txt
echo "Exit status: $exit_status"

Эти методы позволяют получить код завершения последней команды и выполнить дальнейшие действия или обработку ошибок в зависимости от статуса завершения.