Este fragmento de código Bash obras que yo hubiera esperado:¿Por qué "local" barre el código de retorno de un comando?
$ fun1() { x=$(false); echo "exit code: $?"; }
$ fun1
exit code: 1
Pero éste, utilizando local
, no:
$ fun2() { local x=$(false); echo "exit code: $?"; }
$ fun2
exit code: 0
¿Puede alguien explicar ¿por qué local
barrer el código de retorno del comando ?
Ver https://lists.gnu.org/archive/html/bug-bash/2010-03/msg00007.html – tokland