echo
Bash
© 2016
- 2025
Basiswissen|
Echo für Text|
Echo für Variablen|
Echo als Taschenrechner|
Echo mit Dateien als Ziel (redirect)|
Leerzeile|
Ohne Zeilenumbruch|
printf als Alternative|
tput als Alternative
Basiswissen
Der Befehl echo gibt irgendeinen Inhalt auf der Standardausgabe aus. Die Standardausgabe ist meistens der Bildschirm.
Echo für Text
Echo deutet alles was zwischen Hochkommas steht wörtlich als Zeichenfolge.
- echo 'Hallo'
- Zeigt an: Hallo
Echo für Variablen
Mit a=4 weist man der Variablen a den Wert 4 zu. Dieser Wert ist dann von Bash gespeichert. Will man den Wert einer Variablen, auch Inhalt genannt, anzeigen, setzt man ein Dollar-Zeichen vor den Namen der Variablen:
- a=4
- b=7
- echo $a
- Zeigt an: 4
Echo als Taschenrechner
Der Ausdruck echo $(( )) deutet alles im Inneren der Klammer als Rechenterm. Echo versucht also den Wert des Terms zu berechnen. Wenn das klappt, gibt echo den Zahlenwert auf dem Bildschirm (Standardausgabe) aus:
- echo $((4*3))
- Zeigt an: 12
- echo $((12/5))
- Zeigt an: 2
- echo $((1-5))
- Zeigt an: -4
Eine wichtige Einschränkung ist, dass diese Rechenweise nur für ganze Zahlen funktioniert. Gibt man eine Zahl mit Komma oder Punkt ein, erscheint eine Fehlermeldung. Kommazahlen als Ergebnisse werden nach unten gerundet, alle Nachkommastellen werden als abgeschnitten. Möchte man auch mit beliebigen dezimalen Zahlen rechnen verwendet man Bash bc ↗
Echo mit Dateien als Ziel (redirect)
- echo ende > datei.txt
- Löscht Inhalt von datei.txt schreibt dann "ende" dort hinein.
- echo ende >> datei.txt
- Fügt ende am Ende des Dateiinhaltes von datei.txt ein
Leerzeile
- echo -e "n"
- Schreibt Leerzeile
Ohne Zeilenumbruch
- echo -n hallo
- echo duda
- Schreibt "halloduda", der Zeilenumbruch am Ende von hallo wird unterdrückt.
printf als Alternative
Der Befehl echo eignet sich nicht ohne Weiteres zur zuverlässigen Formatierung der Ausgabe. Zeilenumbrüche, Tabulatoren oder Leerzeichen entwickeln je nach Betriebssystem mitunter ein zum Teil schwer kontrollierbares Eigenleben. Ein Befehl, der speziell einer sicheren Formatierung von Daten dient ist Bash printf ↗
tput als Alternative
Weder der Befehl echo noch der Befehl printf erlauben es, auf bequeme Weise anzugeben, wo genau am Bildschirm eine Ausgabe platziert werden soll. Wer gerne im Sinne eines Koordinatensystems festlegen will, wo etwas auf dem Monitor angezeigt wird, greift am besten zum Befehl Bash tput ↗