Hallo Wenn ich die Standardausgabe von einem Terminal in eine Datei umlenke und dann auf /dev/tty schreibe, ist es richtig, dass trotzdem auf dieses Terminal geschrieben wird und nicht in die Datei? Also ist diese Datei unabhängig von einer Umleitung? Grüße, ChristophR.
Hallo Christoph, Christoph Raucher schrieb:
Hallo
Wenn ich die Standardausgabe von einem Terminal in eine Datei umlenke und dann auf /dev/tty schreibe, ist es richtig, dass trotzdem auf dieses Terminal geschrieben wird und nicht in die Datei? Also ist diese Datei unabhängig von einer Umleitung?
Ja. /dev/tty ist immer Deine aktuelle Konsole, quasi ein Synonym dafür. (Nein, "link" mag ich hier nicht sagen, der Ausdruck hat eine feste Bedeutung). So long, Norbert
Christoph Raucher wrote:
Wenn ich die Standardausgabe von einem Terminal in eine Datei umlenke und dann auf /dev/tty schreibe, ist es richtig, dass trotzdem auf dieses Terminal geschrieben wird und nicht in die Datei? Also ist diese Datei unabhängig von einer Umleitung?
Ich hoffe, daß ich die Frage (und das zugrundeliegende Mißverständnis ;-) richtig verstanden habe ... Deine Shell verfügt über die 3 Standardkanäle Standardin (stdin), Standardout (stdout) und Standardfehler (stderr). stdout und stderr sind üblicherweise mit Deinem Terminal verbunden. /dev/tty entspricht dabei einem Link auf das eigentlich verwendete Terminal/Pseudoterminal Deines aktuellen Prozesses. Durch Eingabe von tty kannst Du feststellen, welches tty von Deiner Shell verwendet wird. Nun aber zum Mißverständnis. Die 3 Standardkanäle sind voneinander unabhängig, d.h. insbesondere, daß eine Umlenkung von stdout nichts damit zu tun hat, womit stdin verbunden ist. stdin ist Dein Keyboard. Es bleibt Dein Keyboard, solange Du den Kanal nicht umlenkst. Dein Mißverständnis besteht vielleicht darin, daß Du Keyboard-Input mit "Eingabe auf das Terminal" identifizierst, weil Du jede Eingabe sofort sehen kannst. Damit Du Deine Eingabe auf dem Terminal sehen kannst, muß aber auch die Standardausgabe mit dem Terminal verbunden sein, denn jeder Tastenschlag gelangt über stdout an das Terminal (genauer gesagt an das Terminal, das für den Prozess mit /dev/tty verbunden ist). - Matthias
* Matthias Kleine schrieb am 01.Jun.2001:
Deine Shell verfügt über die 3 Standardkanäle Standardin (stdin), Standardout (stdout) und Standardfehler (stderr). stdout und stderr sind üblicherweise mit Deinem Terminal verbunden. /dev/tty entspricht dabei einem Link auf das eigentlich verwendete Terminal/Pseudoterminal Deines aktuellen Prozesses. Durch Eingabe von
tty
kannst Du feststellen, welches tty von Deiner Shell verwendet wird.
tty gibt einfach die Standardeingabe an. Kannst Du testen, indem Du z.B tty < /dev/tty3 sagst. Dazu mußt Du entweder root sein, oder aber auf tty3 mit dem gleichen User eingeloggt, sonst gibt es eine Fehlermeldung. Bernd -- ACK = ACKnowledge = Zustimmung | NAC = No ACknowledge = keine Zustimmung DAU = Dümmster Anzunehmender User | LOL = Laughing Out Loud = Lautes Lachen IIRC = If I Remember Correctly = Falls ich mich richtig erinnere OT = Off Topic = Am Thema (der Liste) vorbei |Zufallssignatur 11
participants (4)
-
Bernd Brodesser
-
Christoph Raucher
-
Matthias Kleine
-
Norbert Kordts