Estado de salida de los subprocesos bash

Estado de salida de los subprocesos bash

He descubierto empíricamente esto:

# someCommand; echo $?
1
# bash -c someCommand; echo $?
0

Espero que bash -c someCommanddevuelva 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 bashcomando, no de someCommand.

bashse ejecuta someCommandy luego sale. El estado de salida de someCommandse pierde después de que sale el shell bash al que llamó.

información relacionada