He descubierto empíricamente esto:
# someCommand; echo $?
1
# bash -c someCommand; echo $?
0
Espero que bash -c someCommand
devuelva el estado de salida de someCommand
, en lugar de siempre 0.
¿Es esto un error o una característica de diseño? ¿Cómo puedo obtener fácilmente el estado de salida original?
Respuesta1
Esto se debe a que obtienes el estado de salida del bash
comando, no de someCommand
.
bash
se ejecuta someCommand
y luego sale. El estado de salida de someCommand
se pierde después de que sale el shell bash al que llamó.