Объявите локальную переменную, прежде чем назначать ей:
thing() {
local output
output="$(bash "${1##*/}")"
echo "$?"
}
На мой взгляд, это также более читабельно, чем установка дополнительной переменной RET
. YMMV, но он работает так, как и следовало ожидать.