Beendigungsstatus von Bash-Unterprozessen

Beendigungsstatus von Bash-Unterprozessen

Ich habe empirisch Folgendes herausgefunden:

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

Ich erwarte, dass bash -c someCommandder Beendigungsstatus zurückgegeben wird someCommand, statt immer 0.

Ist das ein Fehler oder eine beabsichtigte Funktion? Wie kann ich einfach den ursprünglichen Beendigungsstatus abrufen?

Antwort1

Dies liegt daran, dass Sie den Beendigungsstatus des bashBefehls erhalten, nicht von someCommand.

bashwird ausgeführt someCommandund dann beendet. Der Beendigungsstatus someCommandgeht verloren, nachdem die von Ihnen aufgerufene Bash-Shell beendet wurde.

verwandte Informationen