Echo (Informatik)

Konzept in der Informatik From Wikipedia, the free encyclopedia

Echo ist ein einfaches allgemeines Konzept in der Informatik, das sich an das akustische Echo anlehnt. Es wird in vielen Werkzeugen eingesetzt, vor allem auf der Kommandozeile unter beinahe allen Betriebssystemen, in Programmiersprachen als Ausgabekommando und in Netzwerken. Die grundlegende Funktionsweise ist überall die gleiche wie bei der identischen Abbildung in der Mathematik: Es wird eine Eingabe (meistens in Form einer Zeichenkette) entgegengenommen und unverändert wieder ausgegeben. Hinzu kommt noch besonders im Netzwerkbereich eine wichtige Verzögerung zwischen der Eingabe und der Ausgabe bzw. deren Empfang, wie sie auch beim akustischen Vorbild vorhanden ist.

Kommandozeile und Skriptsprachen

Das Kommando echo gehört bei den meisten Kommandozeilen, die in umfangreichen Programmen und insbesondere in Betriebssystemen bereitgestellt werden, zum Standardbefehlsumfang. Dieses Kommando wird dort für die Ausgabe von Zeichenketten und Variablen auf einem Ausgabegerät wie dem Bildschirm, Terminal oder einer Datei verwendet. Die Verwendung kann entweder direkt in der Kommandozeile oder innerhalb eines Shellskripts auf Großrechnern, aber auch unter DOS und Windows als Stapelverarbeitung bezeichnet – erfolgen. Wenn der Benutzer die Ausgabe in eine Datei umleitet, kann er damit eine Textdatei erstellen oder die Ausgabe an eine vorhandene Textdatei anhängen. Beispiele für Shells und Kommandozeileninterpreter, die das echo-Kommando unterstützen, sind die Kommandozeile von CTSS, die Multics-Shell, die Bourne-again shellbash“, C-Shell, COMMAND.COM, cmd.exe, die Windows PowerShell, aber z. B. auch die Konsole des Computerspiels Half-Life.

Einige Skriptsprachen, die ein echo-Kommando anbieten, sind für die direkte Verwendung mit einer Kommandozeile nicht vorgesehen, sondern eignen sich hauptsächlich für die Verwendung in Skriptdateien, dazu gehört beispielsweise PHP.

Auf den frühen Betriebssystemen für Großrechner der 1960er Jahre gibt es eine Funktion, Kommandos auszugeben, bevor sie ausgeführt werden. Unter CTSS (dem Compatible Time-Sharing System von 1961) beispielsweise werden Kommandos mit vorgestelltem ECHO vor der Ausführung ausgegeben.[1] Bei Skripten, die mit RUNCOM ausgeführt werden, werden nur Kommandos mit vorgestelltem $ (Dollar-Zeichen) vor der Ausführung ausgegeben.[2] Dabei erscheinen die gekennzeichneten Zeilen der Skriptdatei auf dem Bildschirm oder einem anderen Ausgabegerät. Dies findet sich auch unter Unix wieder, wo z. B. auf der Unix-Shell Bash mit set -x die Ausgabe jedes einzelnen Kommandos in einem Shellskript ein und mit set +x wieder ausgeschaltet werden kann.[3] Auch unter DOS und Windows ist die Funktion implementiert, allerdings umgekehrt: Stapelverarbeitungsdateien geben per Voreinstellung jede Zeile auf dem Bildschirm aus, bevor diese als Kommando ausgeführt wird. Mit dem ECHO-Kommando lässt sich die Ausgabe auf dem Bildschirm innerhalb der Stapelverarbeitung steuern: diese wird mit @ECHO OFF abgeschaltet bzw. mit ECHO ON wieder eingeschaltet. Für einzelne Kommandos kann, umgekehrt zu CTSS-RUNCOM-Skripten, ein vorangestelltes @ (At-Zeichen) die Ausgabe einer einzelnen Zeile unterdrücken.

Rechnerkommunikation

In Rechnernetzen kommt dieses Konzept ebenfalls häufig zum Einsatz. In der Internetprotokollfamilie gibt es das Echo-Protokoll, das für den Einsatz mit einem Echo-Netzwerkdienst vorgesehen ist. Die Aufgabe eines Servers, der diesen Netzwerkdienst bereitstellt, ist es, die von einem Client empfangenen Daten unverändert zurückzusenden. Die Spezifikation erfolgt in den RFC 862[4] und RFC 347.[5]

Siehe auch: Echo (Netzwerkdienst)

Außerdem definiert der ICMP-Standard unter anderem zwei Typen von Nachrichten echo request (Echo-Anfrage) und echo reply (Echo-Antwort). Diese Nachrichten werden auch als Ping- bzw. Pong-Pakete bezeichnet und sind hauptsächlich für Diagnosezwecke vorgesehen, um die Erreichbarkeit eines Rechners im Netzwerk zu überprüfen. Dabei wird an einen Zielrechner eine Nachricht mit Nutzdaten, die üblicherweise mit Buchstaben des Alphabets gefüllt sind, gesendet. Der Zielrechner empfängt diese Nachricht und schickt die gleichen Nutzdaten unverändert wieder zurück an den Empfänger. Wenn der Empfänger die Antwortnachricht erhält, wertet er die für die Übertragung (Hin- und Rückrichtung zusammen) benötigte Zeit aus. Dies geschieht beispielsweise bei dem in vielen Betriebssystemen zum Standardlieferumfang gehörenden Ping-Kommandozeilenprogramm. Der ICMP-Standard wird in dem RFC 792[6] festgelegt.

Zu ausführlichen Informationen siehe auch: Ping (Datenübertragung)

Des Weiteren wird der Begriff Echo beim Telnet-Protokoll für die Option verwendet, die festlegt, ob die über die Telnet-Verbindung zurückgesendete Zeichen ausgegeben werden sollen oder nicht. Die Option hat an dieser Stelle also eine ähnliche Bedeutung wie die on- und off-Parameter bei dem cmd.exe-Kommando echo. Spezifikation in RFC 857.[7]

Ein anderes anschauliches Beispiel für die Anwendung dieses Konzepts ist der Echo-Mailer. Dabei wird von jenem der Inhalt jeder empfangenen E-Mail mitsamt Kopfdaten an den Absender zurückgeschickt.

Einzelnachweise

Related Articles

Wikiwand AI