Exit-Status und keine Ausgabe

Exit-Status und keine Ausgabe

Ich habe einen Befehl, der

bar > /dev/null

und ich möchte den Exit-Status der Bar wissen. Ich habe einige Beiträge gelesensoüber $ {PIPESTATUS[0]}, aber das funktioniert, wenn die Ausgabe über weitergeleitet wird |, und ich kann es mit stattdessen nicht zum Laufen bringen >.

Was vermisse ich?

Antwort1

>ist kein Befehl. Das bedeutet, dass bar der letzte ausgeführte Befehl ist. Sie können mit einer Standardanweisung nach einem Fehler suchen if:

if ! bar > /dev/null; then
    echo "bar command failed"
fi

Sie können auch auf den Rückgabecode zugreifen, $?wenn Sie an etwas größer als Null oder ungleich Null interessiert sind:

bar > /dev/null
if [ "$?" -eq 45 ]; then
  echo "bar returned exit code 45"
fi 

verwandte Informationen