Wenn die Antwort von John T das war, was Sie wollten, dann haben Sie die Frage falsch formuliert :)
Er hat die Operatoren <und> kurz beschrieben, aber Sie haben nach <> gefragt. Dies ist ein selten verwendeter Operator, von dem ich nicht überzeugt bin, dass ich ihn in LPIC-1 sehen würde, aber nur für die Aufzeichnung (vorausgesetzt, Sie haben diese Prüfung wahrscheinlich bereits abgeschlossen):
Wenn Sie einen Befehl ohne Umleitung interaktiv ausführen, werden seine Standardeingabe, Ausgabe und Fehler normalerweise an das tty angehängt. es wird von stdin gelesen und in stdout / stderr geschrieben. Obwohl Sie es vielleicht nicht erwarten, werden diese Dateideskriptoren normalerweise mit Lese- und Schreibzugriff geöffnet. Versuchen Sie, ein Skript auszuführen
#!/bin/bash echo "I'm writing to stdin!" >&0
Das Ausführen dieser Bare funktioniert zumindest in aktuellen Bash- Versionen. Wenn Sie jedoch die Redirektoren <und> verwenden, werden die Dateideskriptoren stdin und stdout nur zum Lesen bzw. Schreiben geöffnet. Wenn Sie dies also mit einer Eingabe aus einer Datei aufrufen -
./write-to-stdin < /tmp/some-input
es wird nicht funktionieren (vernünftigerweise). Wenn Sie wirklich möchten, dass ein Programm, das Sie mit der Umleitung aufrufen, nur einen einzigen Dateideskriptor schreiben und schreiben kann, erledigt <> die Aufgabe.
./read-and-write-stdin <> /tmp/some-input-and-output ./read-and-write-stdout 1<> /tmp/some-input-and-output
Da die meisten Programme nur erwarten, dass stdin ein Lesedeskriptor ist und stdout ein Schreibdeskriptor ist, können Sie wahrscheinlich erkennen, warum dies eher selten nützlich ist. Wenn Sie jedoch untergeordnete Skripts schreiben (oder Funktionen verwenden), können Sie das Verhalten nutzen dich selbst.