Eu descobri empiricamente isso:
# someCommand; echo $?
1
# bash -c someCommand; echo $?
0
Espero que isso bash -c someCommand
retorne 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 bash
comando, não do someCommand
.
bash
executa someCommand
e depois sai. O status de saída someCommand
é perdido após o shell bash que você chamou sair.