Status de saída dos subprocessos bash

Status de saída dos subprocessos bash

Eu descobri empiricamente isso:

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

Espero que isso bash -c someCommandretorne o status de saída de someCommand, em vez de sempre 0.

Isso é um bug ou um recurso de design? Como posso obter facilmente o status de saída original?

Responder1

Isso ocorre porque você está obtendo o status de saída do bashcomando, não do someCommand.

bashexecuta someCommande depois sai. O status de saída someCommandé perdido após o shell bash que você chamou sair.

informação relacionada