Als Administrator führen Sie möglicherweise regelmäßig den Echo-Befehl in Bash aus, wenn Sie ein Linux-System verwalten. Aber drucken Sie nur Texte mit dem Echo-Befehl aus?
In diesem Tutorial werfen Sie einen genaueren Blick auf den Echo-Befehl und lernen einige seiner nützlichsten praktischen Beispiele kennen.
Bereit? Bleiben Sie dran und ändern Sie Ihre Vorstellung vom Echo-Befehl!
Voraussetzung
Dieses Tutorial umfasst praktische Demonstrationen. Um mitzumachen, benötigen Sie lediglich einen Ubuntu-Rechner. Dieses Tutorial verwendet Ubuntu 20.04, aber auch andere Linux-Distributionen werden funktionieren.
Strings mit dem Echo-Befehl in der Bash-Shell ausgeben
Wenn Sie an den Echo-Befehl denken, kommt Ihnen wahrscheinlich als Erstes das Ausgeben von Zeichenkettenwerten in der Konsole in den Sinn. Ja, der Echo-Befehl gibt Zeichenketten direkt von einem Befehl oder Skript zurück.
Aber später in diesem Tutorial werden Sie den Echo-Befehl aus einer anderen Perspektive betrachten. Im Moment sehen Sie, wie dieser Befehl Zeichenketten in der Konsole ausgibt.
Die Syntax für den Echo-Befehl lautet wie folgt:
- string – der zu druckende Text.
- optionen – die optionalen Argumente, die Sie angeben können, um die Ausgabe zu modifizieren.
Führen Sie den folgenden Echo-Befehl ohne zusätzliche Optionen aus, um einen einfachen Text in der Konsole auszugeben. Dieser Befehl übergibt die Zeichenkette als Argument an den Echo-Befehl.

Unterdrücken von abschließenden Zeilenumbrüchen in Zeichenketten
Der Echo-Befehl fügt standardmäßig am Ende jeder Zeichenkette ein Zeilenendezeichen hinzu. Daher wird beim Drucken mehrerer Zeichenketten, die möglicherweise miteinander verbunden sind, jede Zeichenkette auf einer neuen Zeile gedruckt.
Die Option -n unterdrückt abschließende Zeilenenden und fordert den Echo-Befehl auf, mehrere Zeichenketten in einer einzigen Zeile zu drucken. Diese Option kann beispielsweise beim Drucken von Fortschrittsbalken in die Konsole hilfreich sein.
Führen Sie den folgenden Befehl aus, um Fortschritt: und 50% zu drucken.
Unten sehen Sie, wie Zeilenumbrüche die beiden Zeichenketten trennen.

Jetzt führen Sie den folgenden Befehl aus und fügen die -n Option an, um die Zeichenketten Fortschritt: und 50% zu drucken.
Wie unten zu sehen ist, befinden sich beide Zeichenketten nun in einer einzigen Zeile, da Sie die -n Option verwendet haben, um die Zeilenumbrüche zu unterdrücken.

Drucken von Variablenwerten
Beim Schreiben eines Skripts speichern Sie normalerweise vorübergehend einen Wert in einer Variablen, den Sie mit dem Echo-Befehl ausgeben können. Diese Funktion kann nützlich sein, wenn Sie den Wert einer Variablen überprüfen, um ein Shell-Skript zu debuggen.
Führen Sie die unten stehenden Befehle aus, um den Wert der Variable „number“ auf 10 zu setzen und den Wert auf die Konsole zu drucken (echo).

Interpretation von Escape-Sequenzen
Eine Escape-Sequenz ist eine Zeichenfolge von Zeichen, die ein Sonderzeichen repräsentiert, und Sie können die Option -e verwenden, um Escape-Sequenzen zu interpretieren.
Beispielsweise stellt die \t-Escape-Sequenz ein Tabulatorzeichen dar. Wenn Sie die -e-Option verwenden und \t in die Konsole drucken, wird \t als Tabulatorzeichen interpretiert, anstatt wörtlich gedruckt zu werden.
Einige der häufigsten Escape-Sequenzen sind wie folgt:
Escape Sequence | Function |
\b | backspace |
\t | tab |
\n | new line |
\\ | backslash |
\$ | dollar sign |
Führen Sie den folgenden Befehl aus, um Hallo\tWelt in die Konsole zu drucken.
Sie können unten sehen, dass der Echo-Befehl die Zeichenfolge Hallo\tWelt wie angegeben gedruckt hat.

Führen Sie nun den folgenden Befehl aus, um Hallo\tWelt zu drucken, wobei die -e-Option verwendet wird, um \t als Tabulatorzeichen dazwischen zu interpretieren.
Beachten Sie den großen Abstand zwischen dem Wort Hallo und Welt unten.

Einfügen von Zeichenfolgen in eine neue Zeile
Das Drucken einer langen einzelnen Zeile von Zeichenfolgen macht es dem Benutzer schwer, sie vollständig zu lesen. Glücklicherweise ermöglicht die \n-Option das Hinzufügen eines neuen Zeichenfolgenzeichens in der Mitte einer Zeichenfolge. Diese Option wird häufig verwendet, wenn mehrere Zeilen Text in die Konsole gedruckt werden, was dem tatsächlichen Text Klarheit verleiht.
Führen Sie den folgenden Befehl aus, um die Zeichenfolge Echo-Befehl bash\nEine andere Zeile zu drucken, wobei die \n-Option die Zeichenfolge in zwei Zeilen aufteilt.
Unten sehen Sie, dass die \n-Option die Zeichenfolge Eine andere Zeile in eine neue Zeile setzt.

Einfügen von vertikalen Tabs zwischen Zeichenfolgen
Sie haben gesehen, wie die \t-Escape-Sequenz ein horizontaler Tabulator zwischen Zeichenfolgen setzt. Aber wie wäre es mit einem vertikalen Tabulator? Die \v-Option ermöglicht es Ihnen, Zeichenfolgen in vertikalen Tabs zu trennen, was perfekt ist, um Textbanners zu erstellen.
Diese Option wird häufig verwendet, wenn mehrere Spalten Text in die Konsole gedruckt werden, wobei jede Spalte in einer neuen Zeile mit einem neuen Tabulator am Anfang steht.
Führen Sie den folgenden Befehl aus, um den Text Echo-Befehl bash demo mit vertikalen Tabs (\v) zwischen jedem Wort zu drucken.

Drucken von Dateinamen basierend auf Erweiterung
Wenn Sie nach einer Möglichkeit suchen, Dateien mit einem bestimmten Dateityp zu finden, funktioniert dieses Feature des Echo-Befehls genauso. Der Echo-Befehl unterstützt das Auflisten von Dateien in einem Verzeichnis mit einer bestimmten Erweiterung mit dem Platzhalterzeichen (*).
1. Führen Sie den folgenden Befehl aus, um alle Dateien mit der Erweiterung .txt im aktuellen Verzeichnis zu drucken.

2. Führen Sie anschließend den folgenden Befehl aus, um alle Dateien mit der Erweiterung .deb im aktuellen Verzeichnis zu drucken.

3. Führen Sie zuletzt den folgenden Befehl aus, um die Dateien mit der Erweiterung .txt im Verzeichnis ~/Downloads zu drucken. Sie können ~/Downloads/ durch den tatsächlichen Verzeichnispfad Ihrer Datei ersetzen.
Sie können unten sehen, dass der Echo-Befehl das Angeben eines Verzeichnispfads unterstützt, in dem sich Ihre Dateien befinden.

Schreiben von Ausgabe in Datei
Wenn Ihr Befehl eine massenhafte Ausgabe liefert, können Sie kaum alles auf der Konsole lesen. Das Schreiben der Ausgabe stattdessen in eine Datei ist eine großartige Idee. Aber wie? Neben dem Drucken von Texten auf der Konsole unterstützt der echo-Befehl auch das direkte Schreiben von Ausgaben in eine Datei.
Führen Sie den unten stehenden Befehl aus, der keine Ausgabe liefert, da die Ausgabe (>) in eine Datei namens echo-bash.txt geschrieben wird.
Beachten Sie, dass wenn die Datei echo-bash.txt bereits existiert, sie mit dem neuen Inhalt überschrieben wird.
Führen Sie nun den folgenden cat-Befehl aus, um den Inhalt der Datei echo-bash.txt anzuzeigen.
Wie Sie unten sehen können, wird die Ausgabe des echo-Befehls in die Datei echo-bash.txt geschrieben.

Anhängen von Ausgaben an vorhandene Dateien
Wie bereits erwähnt, überschreibt der >-Operator eine vorhandene Datei mit neuem Inhalt. Aber was ist, wenn Sie die Ausgabe an eine vorhandene Datei anhängen möchten, anstatt sie zu überschreiben?
Verwenden Sie anstelle eines einzelnen >-Operators zwei >>. Diese Funktion hilft dabei, den vorhandenen Inhalt beizubehalten und neue Einträge an das Ende der Datei anzuhängen.
Führen Sie den unten stehenden Befehl aus, um neue Texte (Anhängen von Text) an die vorhandene echo-bash.txt-Datei anzuhängen.
Führen Sie nun den folgenden cat-Befehl aus, um den Inhalt der Datei echo-bash.txt anzuzeigen.
Wie Sie unten sehen können, wird die Ausgabe des echo-Befehls an die Datei angehängt, ohne etwas zu überschreiben.

Zusammenfassung
Der Echo-Befehl in der Bash-Shell ist ein einfaches, aber leistungsstarkes Werkzeug, das auf viele Arten verwendet werden kann. Und in diesem Tutorial haben Sie gelernt, wie Sie das Potenzial des Echo-Befehls mit einigen seiner beliebtesten Optionen maximieren können.
Das Drucken von Texten in die Konsole ist nicht mehr nur das „Drucken von Texten“. Sie haben gesehen, wie man Ausgaben in eine Datei schreibt, Ausgaben anhängt und wie jeder gedruckte Text aussieht, ändert.
Warum nicht einige Möglichkeiten auswählen, wie Sie den Echo-Befehl verwenden können, und sie in Ihren Skripten aufschreiben? Sehen Sie, welche kreativen Möglichkeiten Ihnen einfallen!