Wie wird die Standardeingabe auf einem Terminal angezeigt?

270
mngo

Gemäß dem Wikipedia-Artikel zu Standard-Streams ist die Tastatur über eine Standardeingabe mit einem Programm verbunden. Ich gehe davon aus, dass sich das Programm auf eine Shell bezieht, die die von der Tastatur eingegebenen Befehle interpretiert. Meine Frage: Wie werden meine Eingaben auf dem Bildschirm angezeigt, wenn sie zu einem Programm umgeleitet wurden? Hoffentlich können Sie mich für jedes Missverständnis korrigieren, das ich habe.

1
Könnten Sie bitte näher erläutern, wie Sie es jetzt sehen? Ich verstehe nicht, was Sie nicht verstehen. gronostaj vor 10 Jahren 0

1 Antwort auf die Frage

2
Squeezy

Ihre Eingaben werden Ihnen vom Terminal / Programm / Betriebssystem / Host angezeigt. Wenn dies nicht der Fall ist, wird auf Ihrem Bildschirm nichts angezeigt.

http://en.wikipedia.org/wiki/Echo_(computing) ist wahrscheinlich die Vorlesung, die Sie als Nächstes wünschen.

Es scheint, dass ein Terminal ein lokales Echo auf seiner Anzeige ausführen würde! Ich denke das ist genau das, wonach ich gesucht habe! Vielen Dank. mngo vor 10 Jahren 0
Es gibt drei Hauptdateideskriptoren (Streams), Standardeingabe, Standardausgabe und Standardfehler. Das Programm schreibt in eine dieser Beschreibungen. ohne Umleitung zeigt Ihr Terminal diese auf dem Bildschirm an. Ich würde http://en.wikipedia.org/wiki/Standard_streams besuchen, bevor ich persönlich Echo habe. Gregg Leventhal vor 10 Jahren 0
Ich lese Ihre Frage noch einmal und sehe, dass Sie schon von dort kamen. Die Antwort ist, dass das Programm C-Bibliotheksfunktionen verwenden würde, die im Wesentlichen Wrapper für Systemaufrufe sind, die in den jeweiligen Dateideskriptor (0,1,2) und somit den Stream, der in Ihrem Terminal angezeigt werden würde, schreiben würden. Gregg Leventhal vor 10 Jahren 0
Echo verwendet schließlich den Schreibsystemaufruf. Sehen Sie diese Spur des Befehls "echo halloThere!" write (1, "helloThere! \ n", 12helloThere!) Verwendet den Dateideskriptor 1 (Standardausgabestrom, um den 12-Byte-String in mein Terminal zu schreiben, gefolgt von einem Zeilenumbruch). Gregg Leventhal vor 10 Jahren 0