2>&1 & detaillierte Erklärung im Linux-Bash-Skript

1. Zunächst repräsentieren die drei Zahlen 0, 1 und 2 in Bash STDIN_FILENO, STDOUT_FILENO bzw. STDERR_FILENO, dh Standardeingabe (normalerweise eine Tastatur), Standardausgabe (normalerweise ein Bildschirm, um genau zu sein). Benutzerterminalkonsole), Standardfehler (Fehlermeldungsausgabe).

  • 0 = Standard
  • 1=Standardausgabe
  • 2=Standardfehler

2. Eingabe und Ausgabe können umgeleitet werden. Bei der sogenannten umgeleiteten Eingabe wird eine bestimmte Eingabequelle im Befehl angegeben. Beispielsweise leitet cat <test.c test.c als Eingabequelle des Befehls cat um.
Bei der Ausgabeumleitung wird ein bestimmtes Ausgabeziel angegeben, um die standardmäßige Standardausgabe zu ersetzen. Beispielsweise leitet „ls > 1.txt“ das Ergebnis von „ls“ von der Standardausgabe in den Text „1.txt“ um. Manchmal sehen Sie eine Schreibweise wie ls >> 1.txt. Der Unterschied zwischen > und >> ist: > wird für Neu und >> für Anhängen verwendet.

3. An diesem Punkt sollten Sie in der Lage sein, die Absicht von 2>&1& zu erraten. Ja, 2>&1 wird verwendet, um Standardfehler 2 auf Standardausgabe 1 umzuleiten. Das & vor 1 dient hier dazu, dass Bash 1 als Standardausgabe anstelle von Datei 1 interpretiert. Beim letzten & geht es darum, Bash im Hintergrund ausführen zu lassen.

Standardfehler werden zur Standardausgabe umgeleitet und im Hintergrund ausgeführt.

Guess you like

Origin blog.csdn.net/weixin_43587784/article/details/129186845