navigation Navigation


echo


Das echo Kommando ist eines der grundlegendsten und am häufigsten verwendeten Werkzeuge in Unix-ähnlichen Betriebssystemen wie Linux. Es wird hauptsächlich dazu verwendet, Text oder den Wert von Variablen auf die Standardausgabe (in der Regel das Terminal) zu schreiben.

Syntax

Die allgemeine Syntax des echo Kommandos sieht folgendermaßen aus.

echo [OPTIONEN] [ARGUMENTE]
Parameter
-n

Unterdrückt den abschließenden Zeilenumbruch, sodass die Ausgabe nicht automatisch in die nächste Zeile springt.


-e

Aktiviert die Interpretation von Backslash-Sequenzen, was es ermöglicht, spezielle Zeichen durch bestimmte Escape-Sequenzen darzustellen.


-E

Deaktiviert die Interpretation von Backslash-Sequenzen (dies ist die Standardverhalten von echo).


Beispiele

Option -n

Beispiel
echo "Hallo Welt"
echo -n "Hallo Welt"
Hallo Welt
Hallo Welt$

echo - Option -n Beispiel

Im zweiten Beispiel wird kein Zeilenumbruch angehängt, sodass die nächste Eingabeaufforderung direkt nach dem Text erscheint.

Wird oft für folgende Dinge verwendet:

  • Zusammensetzen von mehrerer Ausgaben in einer Zeile
  • Animation von Fortschrittsanzeigen im Terminal

Option -e

Diese Option aktiviert die Interpretation von Backslash-Escape-Sequenzen.

Beispiel
echo "Zeile 1\nZeile 2"
echo -e "Zeile 1\nZeile 2"
Zeile 1\nZeile 2
Zeile 1
Zeile 2

echo - Option -e Beispiel

Ohne die -e Option werden die Escape-Sequenzen als normale Zeichen behandelt. Mit der Option werden sie interpretiert und entsprechend umgewandelt.

Beispiel
echo -e "Name:\tHans\nAlter:\t42\nBeruf:\tEntwickler"
Name:   Hans
Alter:  42
Beruf:  Entwickler

echo - Option -e Beispiel


Option -E

Diese Option deaktiviert explizit die Interpretation von Backslash-Escape-Sequenzen (Standardverhalten).

Beispiel
echo -e "Zeile 1\nZeile 2"
echo -E "Zeile 1\nZeile 2"
Zeile 1
Zeile 2
Zeile 1\nZeile 2

Escape-Sequenzen

Wenn die Option -e aktiviert ist, werden die folgenden Escape-Sequenzen erkannt.

  • \\: Backslash
  • \a: Alarmton (BEL)
  • \b: Rückschritt (Backspace)
  • \c: Beendet die Ausgabe, es erfolgt keine weitere Ausgabe
  • \e: Escape-Zeichen
  • \f: Seitenvorschub (Form Feed)
  • \n: Neue Zeile
  • \r: Wagenrücklauf (Carriage Return)
  • \t: Horizontaler Tabulator
  • \v: Vertikaler Tabulator
  • \0NNN: Byte mit oktalem Wert NNN (1 bis 3 Ziffern)
  • \xHH: Byte mit hexadezimalem Wert HH (1 bis 2 Ziffern)

\a Alert/Bell

Funktion: Erzeugt einen Signaltop (Bell). Bei der Ausführung wird ein akustisches Signal ausgegeben. Hier soll darauf geachtet werden, die Bell-Option in dem jeweiligen Terminal oder im System konfiguriert ist.

Beispiel
echo -e "Warnning\a"

\b Backspace

Funktion: Löscht das vorherige Zeichen.

Anwendungsfälle

  • Textkorrektur in der Ausgabe
  • Einfache Animationen im Terminal
Beispiel
echo -e "Linus\bx"
Linux

echo - Escape-Sequenz b - Beispiel

Das \b bewirkt, dass der Cursor um eine Position zurückgeht, wodurch das letzte x über das s geschrieben wird.

Im nächsten Beispiel wird diese Sequenz so oft verwendet, um ein Wort durch das andere zu überschreiben.

Beispiel
echo -e "Falsche\b\b\b\b\b\b\bRichtige Eingabe"
Rightige Eingabe

echo - Escape-Sequenz b - Beispiel


\c Suppress further output

Funktion: Unterdrückt jede weitere Ausgabe, auch einen Zeilenumbruch am Ende.

Anwendungfälle

  • Kontrolle über den exakten Ausgabeumfang
  • Alternative zur -n Option, wenn mitten im Text abgebrochen werden soll.
Beispiel
echo -e "Nur dieser Teil wird angezeigt\cDieser Teil nicht mehr"
Nur dieser Teil wird angezeigt

echo - Escape-Sequenz c - Beispiel


\e oder \E (Escape Character)

Funktion: Fügt das Escape-Zeichen (ASCII 27) ein.

Anwendungsfälle

  • Farbige Textausgabe im Terminal
  • Textformatierung (fett, unterstrichen, etc.)
  • Positionierung des Cursors im Terminal
Beispiel
echo -e "\e[31mRot\e[0m Normal"

“Rot” in roter Farbe, gefolgt von “Normal” in Standardfarbe.

echo - Escape-Sequenz e - Beispiel

Beispiel
echo -e "\e[1;33mGelb und fett\e[0m und normal"

Hier wird “Gelb und fett” in gelber und fetter Schrift, während “und normal” in Standardschrift ausgegeben.

echo - Escape-Sequenz e - Beispiel mit fetter Schrift


\f Form Feed (Seitenvorschub)

Funktion: Fügt einen Seitenvorschub ein.

Anwendungsfälle

  • Formatierung von Ausgaben für Drucker
  • Strukturierung von Textdateien
Beispiel
echo -e "Seite 1\fSeite 2"
Seite 1
   Seite 2

echo - Escape-Sequenz f - Beispiel Seitenvorschub


\n New line

Funktion: Fügt einen Zeilenumbruch ein.

Beispiel
echo -e "Zeile 1\nZeile 2\nZeile 3"
Zeile 1
Zeile 2
Zeile 3

echo - Escape-Sequenz n - Beispiel Zeilenumbruch


\r Carriage return

Funktion: Setzt den Cursor an den Anfang der aktuellen Zeile zurück.

Anwendungsfälle

  • Aktualisierung von Informationen in derselben Zeile
  • Fortschrittsanzeigen
  • Countdown-Timer
Beispiel
echo -e "Alte Nachricht\rNeue"
Neue Nachricht

echo - Escape-Sequenz r - Beispiel


\t Horizontal tab

Funktion: Fügt einen horizontalen Tabulator ein.

Beispiel
echo -e "Name:\tMax\tMustermann"
Name:   Max     Mustermann

echo - Escape-Sequenz t - Beispiel


\t Vertical tab

Funktion: Fügt einen vertikalen Tabulator ein.

Beispiel
echo -e "Oben\vUnten"
Oben
    Unten

echo - Escape-Sequenz v - Beispiel


\\ Backslash

Funktion: Fügt einen Backslash ein.

Anwendungfälle

  • Escapen von Backslash-Zeichen in Ausgaben
  • Darstellung von regulären Ausdrücken
  • Anzeige von Pfaden in Windows-Notation
Beispiel
echo -e "C:\\Program Files\\Application"
C:\Program Files\Application

echo - Escape-Sequenz Backslash - Beispiel


\0nnn Octal value

Funktion: Fügt das Zeichen mit einem oktalen ASCII-Code NNN ein.

Anwendungsfälle

  • Ausgabe von speziellen Zeichen, die nicht direkt eingegeben werden können
  • Arbeit mit binären Daten
  • Steuerung des Terminals über Steuerzeichen
Beispiel
echo -e "ASCII-Zeichen: \0101"
ASCII-Zeichen: A

echo - Escape-Sequenz Octal - Beispiel


\xHH Hexadecimal value

Funktion: Fügt das Zeichen mit dem hexadezimalen Wert HH ein.

Beispiel
echo -e "Hexadezimales Zeichen: \x41"
Hexadezimales Zeichen: A

echo - Escape-Sequenz Hexadecimal - Beispiel


\uHHHH Unicode character

Funktion: Gibt das Unicode-Zeichen mit dem hexadezimalen Wert HHHH aus.

Beispiel
echo -e "Euro-Symbol: \u20AC"
Euro-Symbol: €

echo - Escape-Sequenz Hexadecimal - Beispiel

Beispiel
echo -e "Griechischer Buchstabe Pi: \u03C0"
Griechischer Buchstabe Pi: π

echo - Escape-Sequenz Hexadecimal - Beispiel 2


\UHHHHHHHH Extended unicode character

Funktion: Gibt das Unicode-Zeichen mit dem erweiterten hexadezimalen Wert HHHHHHHH aus.

Beispiel
echo -e "Komplexes Symbol: \U0001F600"
Komplexes Symbol: 😀

echo - Escape-Sequenz Extended Unicode - Beispiel

Anwendungsfälle & Beispiele

Der echo Befehl findet in vielen Situationen Anwendung.

Anzeige von Meldungen und Informationen

Beispiel
echo "Das Backup wurde erfolgreich abgeschlossen."
Das Backup wurde erfolgreich abgeschlossen.

echo - Direkte Ausgabe - Beispiel


Anzeigen von Variablenwerten

Beispiel
name="Max Mustermann"
echo "Hallo, $name!"
Max Mustermann

echo - Ausgabe von Variablenwerten - Beispiel


Schreiben in Dateien

Beispiel
echo "Dies ist eine Textzeile" > datei.txt
echo "Dies ist eine weitere Zeile" >> datei.txt

Die erste Zeile schreibt den Satz “Dies ist eine Textzeile” in die Datei datei.txt. Wenn diese Datei nicht vorhanden ist, wird sie erzeugt.

Die zweite Zeile hängt den Satz an bzw. fügt die Zeile “Dies ist eine weitere Zeile” in dieselbe datei.txt Datei.


Ausgabe von Kommandoergebnissen

Mit echo kann man die Ergebnisse eines anderen Kommandos, welche nach der Abfertigung in die Standard-Ausgabe (stdout) umgeleitet werden, ausgeben.

Beispiel
echo "Aktuelles Datum: $(date)"

echo - Ausgabe von Kommandoergebnissen - Beispiel