Linux-Echo-Befehl erklärt
Linux-Distributionen ermöglichen es Ihnen, das System selbst einzurichten und zu steuern. Dabei gehört der Bash-Echo-Befehl zu einem der meistverwendeten Befehle. Er wird in Bash-Skripten und Batch-Dateien verwendet, um einen Statustext in einer Datei oder auf Ihrem Bildschirm auszugeben. Wir erläutern, wie der Linux-Echo-Befehl funktioniert und wie sich zum Beispiel Farben für Schrift und Hintergrund mit ihm bestimmen lassen.
Was ist der Echo-Befehl und wie funktioniert er?
Der Linux-Echo-Befehl wiederholt das, was man ihm zu wiederholen aufgetragen hat. Die Funktion ist äußerst simpel, aber dafür absolut notwendig. Ohne echo würden Sie zum Beispiel keine sichtbaren Ausgaben von Shell-Skripten erhalten. Shell ist die Benutzerschnittstelle, in der Sie unterschiedliche Befehle eingeben können, wie zum Beispiel den Linux-Tail-Befehl, den Linux-Head-Befehl, den Linux-Cat-Befehl oder aber den Linux-Echo-Befehl.
Wie funktioniert der Linux-Echo-Befehl genau und wie sieht seine Syntax aus? Hier die allgemeine Syntax des Befehls:
echo [option] [string]
Die grundlegende Funktionsweise von echo ist übrigens in allen Programmiersprachen die gleiche: Sie machen eine Eingabe – was in den meisten Fällen in Form einer Zeichenkette erfolgt – und diese wird entgegengenommen und unverändert wieder ausgegeben.
Die Benutzerschnittstelle oder der Kommandozeileninterpreter Shell wird auch Bash-Shell genannt. Dabei ist die Bash die Standard-Shell in Linux-Distributionen und das Textfenster, in das Sie Ihre Befehle eingeben. Das Programm echo ist ein elementarer Teil von Ubuntu und auf jedem System vorinstalliert.
Wie lassen sich in Linux mit echo Text und Informationen ausgeben?
In unserem ersten Beispiel möchten wir einen Text und den Inhalt von Variablen in der Bash bzw. im Terminal ausgeben lassen. Um den Text „Das ist ein Beispiel“ zu schreiben, geben Sie den folgenden Code in das Terminal ein:
$ echo Das ist ein Beispiel
Das ist ein Beispiel
Damit Sie Fehler weitestgehend vermeiden, empfehlen wir, den Text in Anführungszeichen zu setzen:
$ echo "Das ist ein Beispiel"
Das ist ein Beispiel
Im nächsten Schritt wollen wir eine Variable ausgeben lassen. Hier reicht es aus, wenn Sie den Namen der Variablen eingeben, wie zum Beispiel PWD (für Print Working Directory bzw. Ihr Arbeitsverzeichnis). Der Befehl würde dann wie folgt aussehen:
$ echo $PWD
/Users/Name/Desktop
Dann gibt es auch die Möglichkeit, die Ausgabe von Variablen mit Text zu kombinieren, wie in diesem Beispiel:
$ echo "Sie befinden sich im Verzeichnis: $PWD"
Sie befinden sich im Verzeichnis: /Users/Name/Desktop
Für die Ausgabe von Informationen gibt es nicht nur den Bash-Echo-Befehl, sondern auch printf und tput. Dabei ist tput das komplexere Tool und kann auch dazu verwendet werden, um Informationen zurückzusetzen. Mit printf und echo lassen sich jedoch nur Informationen ausgeben.
Welche Steuerzeichen gibt es für echo?
Haben Sie das Grundprinzip des Linux-Echo-Befehls verstanden, lernen Sie im nächsten Schritt, welche Steuerzeichen Sie in Kombination mit dem Kommando verwenden können. Unter Steuerzeichen versteht man Zeichen, die auf dem Bildschirm nicht direkt sichtbar sind, aber Dinge wie den Textanfang, das Textende oder Zeilenumbrüche bestimmen.
Achtung: Echo versteht Steuerzeichen nur dann, wenn Sie die Option -e setzen. Im folgenden Beispiel wird "\n" deshalb nur als Text abgebildet. (Das Steuerzeichen "\n" signalisiert Newline bzw. einen Textumbruch.)
$ echo "\n"
\n
Fügen Sie -e hinzu, wie im folgenden Beispiel, erfolgt in Ihrem Text jedoch tatsächlich ein Textumbruch:
$ echo -e "\n"
Der Echo-Befehl wird standardmäßig mit einem Zeilenumbruch beendet. Um dies zu unterdrücken, können Sie das Steuerzeichen \c am Ende der jeweiligen Ausgabe setzen.
Hier ein Überblick, welche Steuerzeichen Ihnen in Bash zur Verfügung stehen: Hier ein Überblick, welche Steuerzeichen Ihnen in Bash zur Verfügung stehen:
Escape-Codes | Bedeutung |
\a | Alarm-Ton |
\b | Ein Zeichen zurück |
\c | Textumbruch unterdrücken |
\f | Zurück |
\n | Zeilenumbruch |
\r | Zurück zum Zeilenanfang |
\t | Tabulator (horizontal) |
\v | Tabulator (vertikal) |
\\ | Ausgabe des Backlash-Zeichens |
\0nnn | ASCII-Zeichen in oktaler Form (nur sh und ksk) |
\nnn | ACSII-Zeichen in oktaler Form (nur Bash) |
Wie lassen sich Farben für Schrift und Hintergrund mit echo bestimmen?
Mit dem Linux-Echo-Befehl lassen sich bei der Textausgabe auch Textattribute wie Farben für die Schrift und den Hintergrund bestimmen. Dies funktioniert, indem alle Zeichen von Anführungszeichen umklammert werden, oder indem Sie die Farben gleich in Variablen schreiben, um die Zeichenkette lesbarer zu machen. Die erste Variante sieht wie folgt aus (eine Farbe wird immer mit \033[ eingeleitet, 31m steht hier für die Schriftfarbe Rot):
$ echo -e "\033[31mDas ist ein roter Text"
Um nun alle Attribute zurückzusetzen, geben Sie diese Zeichenkette ein:
$ echo -e "\033[0m"
Lesbarer wird es jedoch, wenn Sie in Ihrem Bash-Script Farben vorher als Variablen definieren:
red='\033[31m'
reset='\033[0m'
Dann können Sie die Farbe einfach als Echo-Befehl aufrufen:
$ echo -e "${red}Das ist ein roter Text.${reset}Und jetzt ist der Text wieder normal."
Im Folgenden eine Übersicht zu den unterschiedlichen Escape-Codes für die unterschiedlichen Farben für Schrift und Hintergrund:
Steuerzeichen | Bedeutung |
\033[30m | Schriftfarbe Schwarz |
\033[31m | Schriftfarbe Rot |
\033[32m | Schriftfarbe Grün |
\033[33m | Schriftfarbe Gelb |
\033[34m | Schriftfarbe Blau |
\033[35m | Schriftfarbe Magenta |
\033[36m | Schriftfarbe Türkis |
\033[37m | Schriftfarbe Weiß |
\033[40m | Hintergrund Schwarz |
\033[41m | Hintergrund Rot |
\033[42m | Hintergrund Grün |
\033[43m | Hintergrund Gelb |
\033[44m | Hintergrund Blau |
\033[45m | Hintergrund Magenta |
\033[46m | Hintergrund Türkis |
\033[47m | Hintergrund Grau |
Wie lassen sich bestimmte Texteigenschaften mit echo einstellen?
Neben der Farbe von Schrift und Hintergrund lassen sich mit dem Linux-Echo-Befehl auch Textattribute wie Fettschrift oder Unterstreichen bestimmen. Hier die Codes für verschiedene Texteigenschaften:
Steuerzeichen | Bedeutung |
\033[0m | Zurücksetzen aller Attribute |
\033[1m | Fettschrift |
\033[4m | Unterstreichen |
\033[5m | Blinken |
\033[7m | inverse Darstellung |
Möchten Sie nun den roten Text in fetter Schrift schreiben, lautet der Code wie folgt:
$ echo -e "\033[1;31mDas ist ein roter Text, der fett ist."
Wir haben auch einen Überblick aller wichtigen Linux-Befehle für Sie zusammengestellt.