Verständnis 2> & 1 in einem Anfänger -Leitfaden

Verständnis 2> & 1 in einem Anfänger -Leitfaden

Bash ist eine beliebte Shell, die in den meisten Linux -Verteilungen verwendet wird. Es bietet verschiedene E/A -Umleitungstechniken, mit denen Benutzer steuern können, wie Eingabe und Ausgabe in ihren Befehlen und Skripten verarbeitet werden. Eine der am häufigsten verwendeten E/A -Umleitungstechniken ist 2> & 1, welches Standardfehler (STDERR) in Standardausgabe (STDOut) umleitet (STDOut).

In diesem Artikel werden wir einen Anfängerleitfaden zum Verständnis bieten 2> & 1 in Bash.

Was ist 2> & 1?

2> & 1 ist ein E/A -Umleitung als in Bash verwendet. Mit anderen Worten, es wird die Fehlerausgabe mit der regulären Ausgabe verschmolzen, so.

Die Syntax für die Verwendung 2> & 1 ist wie folgt:

Befehl 2> & 1
1Befehl 2> & 1

In dieser Syntax, 'Befehl' ist der Befehl, der ausgeführt wird und '2> & 1' ist der E/A -Umleitungoperator, der Stderr in Stdout weiterleitet.

Warum 2> & 1 verwenden?

Verwendung 2> & 1 ist nützlich, um Fehler in Bash -Skripten zu erfassen und zu behandeln. Durch Umleiten von STDERR in STDOut können Sie sowohl die reguläre Ausgabe als auch die Fehlerausgabe in einem einzelnen Stream erfassen, wodurch die Analyse und Handlungsfehler erleichtert werden können. Dies kann besonders in Skripten nützlich sein, die Fehlerbehandlung erfordern, bei denen Sie wissen müssen, ob ein Befehl erfolgreich ausgeführt oder auf einen Fehler gestoßen ist.

Beispiel Verwendung

Hier ist ein Beispiel für die Verwendung 2> & 1 in einem Bash -Skript:

#!/bin /bash ls /not_a_directory> /dev /null 2> & 1 if [$? -ne 0]; dann echo "Fehler: Verzeichnis nicht gefunden" fi
123456#!/bin /bash ls /not_a_directory> /dev /null 2> & 1if [$? -ne 0]; dann echo "Fehler: Verzeichnis nicht gefunden" fi

In diesem Beispiel die 'ls' ' Der Befehl wird in einem nicht existierenden Verzeichnis ausgeführt '/not_a_directory' '. Die Ausgabe dieses Befehls wird auf umgeleitet auf '/dev/null' ', was es wegwirft. Der Stderr Die Ausgabe wird mit Verwendung von STDOut umgeleitet 2> & 1, Dadurch kann es in der IF -Anweisung erfasst werden. Wenn der Status der Beendigung ($?) des Befehls ist nicht gleich 0, eine Fehlermeldung wird gedruckt.

Abschluss

Abschließend, 2> & 1 ist ein E/A -Umleitungsoperator, der in Bash verwendet wird, der umleitet Stderr Zu Stdout. Es ist nützlich, um Fehler in Bash -Skripten zu erfassen und zu behandeln, wo Sie wissen müssen, ob ein Befehl erfolgreich ausgeführt oder auf einen Fehler gestoßen ist. Durch das Zusammenführen der Fehlerausgabe mit der regulären Ausgabe erleichtert es die Analyse und Handlungsfehler. Verständnis der Grundlagen von 2> & 1 ist wichtig für alle, die mit Bash -Skripten und -befehlen arbeiten.