So verwenden Sie die Streams Stdin, Stderr und Stdout in Bash

So verwenden Sie die Streams Stdin, Stderr und Stdout in Bash

Drei Streams werden geöffnet, wenn das Linux -Betriebssystem startet. Dies sind Stdin, Stdout und Stderr. Die vollständige Form von STDIN ist die Standardeingabe, mit der eine Eingabe vom Benutzer entnommen wird. Die vollständige Form von STDOut ist die Standardausgabe, mit der die Ausgabe des Befehls in den STDOut -Stream gespeichert wird. Die vollständige Form von STDERR ist der Standardfehler, mit dem die Fehlermeldung gespeichert wird, die aus jedem Befehl in den Datenstrom generiert wird. Die Verwendungen dieser Streams werden in diesem Tutorial angezeigt. Die entsprechenden numerischen Identifikatorwerte von Stdin, Stdout und Stderr sind 0, 1 und 2.

Umleitungsbetreiber von Stdin, Stdout und Stderr

    • Der "<” or “0<” is used for the stdin stream.
    • Das ">" oder "1>" wird für den Stdout -Stream verwendet.
    • Das „2“ wird für den Stderr -Stream verwendet.

Verwendung von Stdin, Stdout und Stderr

Die Verwendungen von Stdin, Stdout und STDERR werden in diesem Teil des Tutorials anhand mehrerer Beispiele angezeigt.

Beispiel 1: Verwendung von Stdin

Die Methode zur Einnahme des Inhalts einer Datei und des Druckens in das Terminal wird in diesem Beispiel angezeigt.

Führen Sie den folgenden Befehl "cat" aus, um eine Textdatei mit dem Namen testData zu erstellen.Txt mit einigen Inhalten:

$ cat> testdata.txt


Führen Sie den folgenden Befehl "cat" aus, um einige Inhalte in die TestData anzuhängen.TXT -Datei:

$ cat >> testData.txt


Führen Sie den folgenden Befehl "CAT" aus, um eine Eingabe aus der TestData zu entnehmen.TXT -Datei und drucken Sie sie in das Terminal aus:

$ cat < testdata.txt


Ausgang:

Die folgende Ausgabe wird nach der Ausführung der vorherigen Befehle nach dem Hinzufügen der Zeichenfolge „LinuxHint ausgeführt.com ”und„ Scripting Language “in die testdata.TXT -Datei:


Beispiel 2: Verwendung von stdout

Die Methode zum Erstellen einer Datei mit Pipe (|) und dem Umleitungsoperator wird in diesem Beispiel angezeigt.

Führen Sie den folgenden Befehl aus, um eine Zeichenfolgendaten in die Textdatei mit dem Namen testData2 zu schreiben.txt durch Rohrleitungen. Die Ausgabe des Befehls „Echo“ wird mit dem Rohroperator (|) an die Eingabe des Befehls „CAT“ gesendet:

$ echo "Learn Bash -Programmierung" | Cat> TestData2.txt


Führen Sie den folgenden Befehl "cat" aus, um den Inhalt des TestData2 zu überprüfen.TXT -Datei:

$ cat testData2.txt


Ausgang:

Die folgende Ausgabe erscheint nach der Ausführung der vorherigen Befehle. Gemäß der Ausgabe wird die Ausgabe des Befehls „Echo“ in das testData2 geschrieben.TXT -Datei:


Führen Sie den folgenden Befehl aus, um die Ausgabe des Befehls „LS -L“ in eine Textdatei mit dem Namen "List" zu schreiben.TXT unter Verwendung des Umleitungsoperators ('>'):

$ ls -l> Liste.txt


Führen Sie den folgenden Befehl "cat" aus, um den Inhalt der Liste zu überprüfen.TXT -Datei:

$ cat liste.txt


Ausgang:

Die folgende Ausgabe erscheint nach der Ausführung der vorherigen Befehle. Gemäß der Ausgabe wird die Ausgabe des Befehls „LS -L“ in die Liste geschrieben.TXT -Datei:


Beispiel 3: Verwendung von Stdin und Stdout

Die Methode zur Verwendung von STDIN und STDOut, um eine Eingabe aus einer Datei zu nehmen und in eine Datei zu schreiben, wird in diesem Beispiel angezeigt.

Führen Sie den folgenden Befehl "cat" aus, um den Inhalt der TestData zu übernehmen.TXT -Datei und schreiben Sie sie in die Testdatei.TXT -Datei und das Terminal:

$ cat < testdata.txt > Testdatei.txt


Führen Sie den folgenden Befehl "cat" aus, um den Inhalt der TestData zu drucken.TXT -Datei:

$ cat testdata.txt


Führen Sie den folgenden Befehl "CAT" aus, um den Inhalt der Testdatei zu drucken.TXT -Datei:

$ cat Testdatum.txt


Ausgang:

Die folgende Ausgabe erscheint nach der Ausführung der vorherigen Befehle. Gemäß der Ausgabe der Inhalt des TestDaten.Die TXT -Datei wird in die Testdatei geschrieben.TXT -Datei und im Terminal gedruckt:


Beispiel 4: Verwendung von Stderr

Der Inhalt des Standardfehlers kann im Terminal gedruckt oder in eine Datei umgeleitet oder an /dev /null gesendet werden, die wie der Recycle -Bin funktioniert. Die verschiedenen Möglichkeiten, den Standardfehler zu übergeben, werden in diesem Beispiel angezeigt.

Der folgende Befehl ist gültig und druckt die Zeichenfolge „Hallo“ mit der Newline. Für den folgenden Befehl wird also kein Standardfehler erstellt:

$ printf "%s \ n" "Hallo"


Der folgende Befehl ist ungültig, da kein Befehl namens "PIRNNTF" vorhanden ist. Daher wird ein Standardfehler erzeugt und der Fehler in der Terminal gedruckt:

$ PIRNNTF "%s \ n" "Hallo"


Ausgang:

Die folgende Ausgabe erscheint nach der Ausführung des vorherigen Befehls. Gemäß der Ausgabe wird der Standardfehler im Terminal gedruckt:


Manchmal muss der benutzerdefinierte Fehler gedruckt werden, indem der Standardfehler versteckt ist, um den Fehler für die Benutzer verständlicher zu machen. Diese Aufgabe kann erledigt werden, indem der Fehler in die /dev /null umgeleitet wird. Das „2>“ wird hier verwendet, um den Fehler in /dev /null umzuleiten.

Führen Sie den folgenden Befehl aus, um den Fehler in den /dev /null umzuleiten, wodurch kein Fehler angezeigt wird, wenn ein Fehler vorliegt:

$ PIRNNTF "%s \ n" "Hallo" 2> /dev /null


Ausgang:

Die folgende Ausgabe erscheint nach der Ausführung des vorherigen Befehls. Gemäß der Ausgabe wird der Standardfehler in der Klemme nicht gedruckt, um nach /dev /null zu leiten:


Manchmal erfordert der Standardfehler für die zukünftige Verwendung in eine Datei gespeichert in eine Datei. Diese Aufgabe kann erledigt werden, indem der Fehler mit dem „2>“ -Operator in eine Datei umgeleitet wird.

Führen Sie den folgenden Befehl aus, um den Standardfehler in eine Datei namens ERROFILE umzuleiten.txt:

$ PIRNNTF "%s \ n" "Hallo" 2> Fehlerfile.txt


Führen Sie den folgenden Befehl aus, um den Inhalt der Fehlerfile zu überprüfen.TXT -Datei:

$ CAT ERRALFILE.txt


Ausgang:

Die folgende Ausgabe erscheint nach der Ausführung der vorherigen Befehle. Gemäß der Ausgabe wird der Standardfehler ordnungsgemäß in die Fehlerfile geschrieben.TXT -Datei:


Der Standardfehler kann sowohl in /dev /null als auch in die Fehlerfile umgeleitet werden.TXT -Datei mit dem folgenden Befehl:

$ PIRNNTF "%s \ n" "Hallo" 2> /dev /null> Fehlerfile.txt

Abschluss

Die Verwendungen von Stdin, Stdout und STDERR werden in diesem Tutorial anhand mehrerer Beispiele erläutert, mit denen die Linux -Benutzer das Konzept dieser Streams verstehen und bei Bedarf ordnungsgemäß verwenden können.