У меня есть два сценария оболочки:
test. sh
function func() {
echo $1
exit 1
}
run. sh
source ./test.sh
func "Hello"
exitCode=$?
echo "Output: ${exitCode}"
Результат:
Hello
Текущая проблема, с которой я сталкиваюсь, заключается в том, что когда функция fun c возвращает 1, мой запуск. sh скрипт прерывается и после него ничего не выполняется. Итак, есть ли способ, которым я могу эффективно захватить код выхода, не прерывая работу. sh. Поскольку я не могу изменить тестовый сценарий. sh, я должен найти способ сделать это во время выполнения. sh. Я пытался использовать flock
для выполнения скрипта, но не смог заставить его работать.