Ich möchte einen Befehl auf bash, dass die Ausgabe von git status
zeigt, aber nur wenn etwas Interessantes gibt. Mit anderen Worten: Wenn alles in Ordnung ist, möchte ich mit dem Befehl nichts drucken. Grundsätzlich kann ich dies erreichen, indem ausgeführt wird:Forward-Exit-Code in bash wenn
if [[ $(git status -s) ]]; then git status; fi
Der Trick dabei ist, dass die -s
Flagge nur etwas gibt, wenn es etwas interessant ist, so tut es genau das, was ich will :-)
Der einzige Nachteil Wenn ich das in einem Verzeichnis ausführe, das kein Git-Verzeichnis ist, bekomme ich keinen Exit-Code ungleich 0
. Wenn ich git status
oder git status -s
direkt ausführen, schlagen beide mit Exit-Code 128
fehl. Aber sobald ich dies innerhalb der if
mache, ist der Exit-Code 0
.
Wie kann ich mein Skript verbessern, so dass der Exit-Code weitergeleitet wird?
Welche Exit-Code nicht 'git status -s' geben, wenn nichts Interessantes passiert ist? – 123
Es gibt '0' zurück, aber die Ausgabe selbst ist leer. –