(write arguments to standard output)
Das in die POSIX-Shell sh eingebaute Kommando echo schreibt seine Aufruf-Argumente auf die Standard-Ausgabe und beendet sich. Vor der Ausgabe passiert Folgendes:
Wie bei jedem anderen Kommando, interpretiert die Shell die Kommando-Zeile und übergibt an echo die aufbereiteten Aufruf-Argumente. Argument-Trenner sind für die Shell Leer- und Tabulatorzeichen.
echo interpretiert noch verbliebene Sonderzeichen, die die Ausgabe steuern (siehe Beschreibung zu argument).
echo gibt die bearbeiteten Argumente wie folgt aus:
Die einzelnen Argumente werden durch ein Leerzeichen voneinander getrennt, auch wenn Sie beim Aufruf mehrere Argument-Trennzeichen zwischen den Argumenten eingegeben haben.
Nach dem letzten Argument wird ein Neue-Zeile-Zeichen ausgegeben.
Sie können mit echo
den Inhalt von Shell-Variablen abfragen,
Meldungen in Shell-Prozeduren erzeugen und so die Funktionsweise testen,
testen, wie die Shell einen Kommando-Aufruf interpretiert, ohne dass das Kommando ausgeführt wird,
Daten in eine Pipe schicken und testen, wie die Pipe diese Eingabe verarbeitet.
Neben dem eingebauten Kommando echo gibt es auch /usr/bin/echo. Für die Ausführung von /usr/bin/echo erzeugt die Shell einen neuen Prozess. Sonst verhält sich /usr/bin/echo wie echo.
Syntax
echo[ argument...] |
beliebige Zeichenkette, die jeweils durch Leer- oder Tabulatorzeichen begrenzt wird. Das letzte Argument wird durch ein Kommando-Trennzeichen abgeschlossen. Sie können beliebig viele Argumente angeben, jeweils getrennt durch mindestens ein Tabulator- bzw. ein Leerzeichen. Wie bei jedem anderen Kommando auch wird die Zeichenkette zunächst von der Shell interpretiert:
Das eingebaute Kommando echo interpretiert zusätzlich die nachfolgend beschriebenen Steuerzeichen. Da der Gegenschrägstrich für die Shell eine Sonderbedeutung hat, muss er entwertet werden:
Beispiel
Steuerzeichen Die folgenden Steuerzeichen beeinflussen die Ausgabe von echo, falls der Gegenschrägstrich entsprechend entwertet ist. Beachten Sie bitte die terminalspezifischen Abhängigkeiten.
echo gibt nur aus, was bis zu diesem Steuerzeichen eingegeben wurde, und schließt die Ausgabe nicht mit einem Neue-Zeile-Zeichen ab.
(f - form feed) Seitenvorschub; bei Ausgabe auf den Bildschirm wird dieses Steuerzeichen nicht umgesetzt. \f entspricht CTRL+L
(n - new line) Zeilenvorschub; echo schreibt das, was nach dem Steuerzeichen eingegeben wurde, in die nächste Zeile. \ n entspricht der Eingabetaste bzw. CTRL+J
Steuerzeichen für Tabulator; echo setzt die Schreibmarke auf den nächsten Tabulator. Die Zeichen, die nach \t eingegeben wurden, schreibt echo ab dieser Spalte weiter. Die Tabulator-Positionen sind abhängig von der verwendeten Datensichtstation. \t entspricht TAB bzw. CTRL+I
n muss eine ein-, zwei- oder dreistellige Oktalzahl sein. Das Kommando echo gibt das entsprechende Zeichen aus (siehe Tabellen und Verzeichnisse, Zeichensatz EDF03). Auf diese Weise können Sie beispielsweise Zeichen erzeugen, deren interner Code einen Wert größer FF (EDF03) hat, auch wenn Sie keine 8-Bit-Datensichtstaion haben. Für nicht darstellbare Zeichen wird ein Schmierzeichen ausgegeben (geräteabhängig). Wenn Sie nach einem oktal beschriebenen Zeichen eine Ziffer ausgeben wollen, dann müssen Sie die Oktalzahl dreistellig angeben. Beispiel
Sollen diese Steuerzeichen weder von der Shell noch von echo interpretiert werden, müssen Sie sie wie folgt eingeben: Beispiel
Für die übrigen Zeichenketten gilt dies entsprechend. argument nicht angegeben: echo gibt nur eine Leerzeile aus. |
Internationale Umgebung
Die folgenden Umgebungsvariablen beeinflussen die Ausführung des Kommandos echo: LANG Gibt einen Standardwert für die Variablen für die internationale Umgebung an, die nicht gesetzt oder Null sind. Ist LANG nicht gesetzt oder Null, wird der entsprechende Standardwert der internationalen Umgebung verwendet. Enthält eine der Internationalisierungsvariablen eine ungültige Einstellung, verhält sich das Kommando so, als sei keine der Variablen definiert worden. LC_ALL Ist diese Variable auf einen Wert gesetzt, d. h. ist sie nicht leer, überschreibt dieser Wert die Werte aller übrigen Internationalisierungsvariablen. LC_CTYPE Legt die internationale Umgebung für die Interpretation der Byte-Folgen eines Datentexts als Zeichen fest (z.B. Singlebytezeichen im Unterschied zu Mehrbytezeichen in Argumenten und Eingabedateien) sowie die Einteilung der Zeichen in Groß- und Kleinbuchstaben und deren Übereinstimmung. LC_MESSAGES Legt die internationale Umgebung für Format und Inhalt der Diagnosemeldungen fest, die in die Standardfehlerausgabe geschrieben werden. NLSPATH Legt den Pfad der Meldungsdateien für LC_MESSAGES fest. |
Beispiel 1
Der folgende Bildschirm-Dialog soll zeigen, wann Leerzeichen, Tabulatorzeichen und Neue-Zeile-Zeichen erhalten bleiben:
|
Beispiel 2
Die Benutzerin anna will wissen, welcher Wert der Variablen HOME zugewiesen ist:
$ echo $HOME
/home/anna |
Beispiel 3
Die folgende Zeile in einer Shell-Prozedur bewirkt, dass auf die Standard-Fehlerausgabe eine Fehlermeldung ausgegeben wird:
|
Beispiel 4
Vor die Ausgabe des Kommandos date soll eine konstante Zeichenkette gestellt werden:
|
Siehe auch
print, printf |