Чтобы получить статус кода завершения последней команды, выполненной в сценарии 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"
Эти методы позволяют получить код завершения последней команды и выполнить дальнейшие действия или обработку ошибок в зависимости от статуса завершения.