
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