W moim projekcie mam następujący fragment kodu:
local output="$(bash "${1##*/}")"
echo "$?"
To zawsze wypisuje zero local, ponieważ usunięcie localpowoduje jednak, że $?zmienna zachowuje się poprawnie: co oznacza przyjęcie kodu wyjścia z podpowłoki.
Moje pytanie brzmi: jak mogę zachować tę zmienną lokalnie, jednocześnie rejestrując wartość wyjściową?
shellchecknie tylko złapie ten problem, ale zaproponuje rozwiązanie na unix.stackexchange.com/a/281749/24718 !