So speichern Sie Standardfehler in einer Variablen in Bash

- 2984
- 262
- Miriam Bauschke
In Bash können Sie die Standardfehlerausgabe eines Befehls in einer Variablen speichern, indem Sie die verwenden '2> & 1'
Bediener und der '$ ()' '
Befehlssubstitutionssyntax. Hier '2>'
leitet die Fehlermeldung auf & 1 '
, das repräsentiert die Standardausgabe. Bei Bash -Shell fungiert als Standardausgabegerät.
- Zum Beispiel zum Speichern der Standardfehlerausgabe des
'ls' '
Befehl zu einer Variablen mit dem Namen Fehler, können Sie den folgenden Befehl verwenden:Fehler = $ (LS Nicht existierende Datei 2> & 1)
Speichern Sie den Standardfehler in einer Bash -Variablen
Alternativ können Sie die verwenden
'$?''
Spezieller Parameter zum Speichern des Exit -Status eines Befehls in eine Variable. Der Exit -Status ist ein numerischer Wert, der angibt, ob der Befehl erfolgreich war oder nicht. Ein Wert von'0' '
zeigt den Erfolg an, während ein Wert ungleich Null einen Fehler angibt. - Zum Beispiel den Exit -Status der Ausgangsstatus des
'ls' '
Befehl zu einer Variablen mit dem Namen Status, können Sie den folgenden Befehl verwenden:LS Nicht existierende Datei
Status = $?
- Sie können dann die verwenden
"$ Status"
Variable, um den Exit -Status der zu überprüfen'ls' '
Befehl und ergreifen Sie geeignete Maßnahmen basierend auf dem Ergebnis. Zum Beispiel: #!/usr/bin/env bash # pur Ihre Befehle hier, wenn [$ status -ne 0]; dann Echo "Der letzte Befehl des letzten Befehls ist mit einem Fehler fehlgeschlagen."Fi123456 #!/usr/bin/env bash # pur Ihre Befehle hier, if [$ status -ne 0]; dann Echo "Der letzte Befehl des letzten Befehls ist mit einem Fehler fehlgeschlagen."Fi
Denken Sie daran, dass die '$ ()' '
Mit der Befehlsubstitutionssyntax können Sie einen Befehl ausführen und seine Ausgabe ersetzen. Der '2>'
Der Bediener leitet die Standardfehlerausgabe des Befehls in die um '& 1'
Stream, der Standardausgangsstrom ist. Auf diese Weise können Sie sowohl die Standardausgabe als auch die Standardfehlerausgabe des Befehls in einer einzelnen Variablen erfassen.