No meu projeto, tenho o seguinte snippet:
local output="$(bash "${1##*/}")"
echo "$?"
Isso sempre imprime zero devido a local
, no entanto, remover local
faz com que a $?
variável se comporte corretamente: assumir o código de saída do subshell.
Minha pergunta é: como posso manter essa variável local enquanto captura o valor de saída?
shellcheck
não apenas detectará esse problema, mas sugerirá a solução em unix.stackexchange.com/a/281749/24718 !