Использую set -e
для упрощения обработки ошибок в shell-скрипте. Но в одном месте нужна более сложная обработка. Т.е. я вызываю определённую команду и после этого мне нужно получить код ошибки.
Для иллюстрации покажу следующий пример:
#!/bin/sh
set -e
(exit 2)
rv=$?
echo "rv=$rv"
В данном случае мне нужно продолжить выполнение после того, как subshell вернул ошибку. И обработать конкретное значение этой ошибки.
Понятно, что можно сделать set +e
в нужном месте. Но может быть есть какой-то более изящный трюк?