Рассмотрим следующий код
outer-scope.sh
#!/bin/bash
set -e
source inner-scope.sh
echo $(inner)
echo "I thought I would've died :("
inner-scope.sh
#!/bin/bash
function inner() { echo "winner"; return 1; }
Я пытаюсь outer-scope.sh
выйти, когда inner()
не удается позвонить . Так как $()
вызывает вложенную оболочку, этого не происходит.
Как еще можно получить выходные данные функции, сохранив тот факт, что функция может завершиться с ненулевым кодом выхода?