#!/bin/bash
thing() {
local foo=$(asjkdh) ret="$?"
echo "$ret"
}
Isto irá ecoar 127
, o código de erro correto para "comando não encontrado".
Você pode usar local
para definir mais de uma variável. Então, eu também apenas criei a variável local RET
para capturar o código de saída da subshell antes de local
suceder e definir $?
para zero.