Wie wird die Standardeingabe auf einem Terminal angezeigt?


1

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.


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

Antworten:


2

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

http://en.wikipedia.org/wiki/Echo_(computing) ist wahrscheinlich der Vortrag, den Sie als nächstes wollen.


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

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 besuchen de.wikipedia.org/wiki/Standard_streams bevor echo persönlich.
Gregg Leventhal

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

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.