No meu projeto, tenho o seguinte snippet:
local output="$(bash "${1##*/}")"
echo "$?"
Isso sempre imprime zero devido a local, no entanto, remover localfaz 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?
shellchecknão apenas detectará esse problema, mas sugerirá a solução em unix.stackexchange.com/a/281749/24718 !