En mi proyecto tengo el siguiente fragmento:
local output="$(bash "${1##*/}")"
echo "$?"
Esto siempre imprime cero debido a que local, sin embargo, la eliminación localhace que la $?variable se comporte correctamente: lo que supone asumir el código de salida de la subshell.
Mi pregunta es: ¿cómo puedo mantener esta variable local y al mismo tiempo capturar el valor de salida?
shellcheckno solo detectará este problema, sino que sugerirá la solución en unix.stackexchange.com/a/281749/24718 .