Connect with us

Wie man

Verwendung des Echo-Befehls unter Linux

So verwenden Sie Curl zum Herunterladen von Dateien über die Linux-Befehlszeile

Fatmawati Achmad Zaenuri / Shutterstock

Das echo Der Befehl eignet sich perfekt zum Schreiben von formatiertem Text in das Terminalfenster. Und es muss kein statischer Text sein. Es kann Shell-Variablen, Dateinamen und Verzeichnisse enthalten. Sie können das Echo auch umleiten, um Textdateien und Protokolldateien zu erstellen. Befolgen Sie diese einfache Anleitung, um herauszufinden, wie.

Echo wiederholt, was Sie ihm sagen, um zu wiederholen

Zeus verließ gern den Olymp, um sich mit wunderschönen Nymphen zusammenzutun. Auf einer Reise erzählte er einer Bergnymphe namens Echo zu Waylay seine FrauHera, wenn sie ihm folgte. Hera suchte Zeus und Echo tat alles, um Hera im Gespräch zu halten. Schließlich verlor Hera die Beherrschung und verfluchte das arme Echo, so dass sie nur die letzten Worte wiederholte, die jemand anderes gesagt hatte. Was Hera Zeus angetan hat, als sie ihn eingeholt hat, ist jedermanns Vermutung.

Und das ist so ziemlich alles echoist viel im Leben. Es wiederholt was es wurde gesagt, zu wiederholen. Das ist eine einfache, aber wichtige Funktion. Ohne echo Zum Beispiel könnten wir keine sichtbare Ausgabe von Shell-Skripten erhalten.

Obwohl es nicht mit einer Vielzahl von Schnickschnack beladen ist, besteht eine gute Chance, dass echo hat einige Funktionen, die Sie nicht kannten oder die Sie vergessen hatten.

Echo? Echo!

Die meisten Linux-Systeme bieten zwei Versionen von echo. Das Bash Shell hat sein eigenes echo eingebaut, und es gibt eine ausführbare Binärversion von echo auch.

Wir können die zwei verschiedenen Versionen mit den folgenden Befehlen sehen:

type echo
whereis echo

Das type Befehl sagt uns ob der Befehl, den wir an ihn übergeben wie es ist Streit ist eine eingebaute Shell, eine ausführbare Binärdatei, ein Alias ​​oder eine Funktion. Es berichtet uns das echo ist eine Shell gebaut.

Sobald es eine Antwort gefunden hat, type hört auf, nach weiteren Übereinstimmungen zu suchen. Es sagt uns also nicht, ob andere Befehle mit demselben Namen im System vorhanden sind. Aber es sagt uns, welches es zuerst findet. Und das ist derjenige, der standardmäßig verwendet wird, wenn wir diesen Befehl ausgeben.

Das whereis Der Befehl sucht nach der ausführbaren Binärdatei, dem Quellcode und der Manpage für den Befehl, den wir als Befehlszeile an ihn übergeben Parameter. Es wird nicht nach eingebauten Shell-Dateien gesucht, da sie keine separate ausführbare Binärdatei haben. Sie sind ein wesentlicher Bestandteil der ausführbaren Bash-Datei.

Das whereis Befehl meldet das echo ist eine ausführbare Binärdatei, die sich in der /bin Verzeichnis.

Um diese Version von zu verwenden echo Sie müssten es explizit aufrufen, indem Sie den Pfad zur ausführbaren Datei in der Befehlszeile angeben:

/bin/echo --version

Die eingebaute Shell weiß nicht, was die --version Das Befehlszeilenargument wird nur im Terminalfenster wiederholt:

echo --version

Die hier gezeigten Beispiele verwenden alle die Standardversion von echoin der Bash-Shell.

Schreiben von Text in das Terminal

Geben Sie ein, um eine einfache Textzeichenfolge in das Terminalfenster zu schreiben echo und die Zeichenfolge, die angezeigt werden soll:

echo My name is Dave.

Der Text wird für uns wiederholt. Aber wenn Sie experimentieren, werden Sie bald feststellen, dass die Dinge etwas komplizierter werden können. Schauen Sie sich dieses Beispiel an:

echo My name is Dave and I'm a geek.

Das Terminalfenster zeigt a > Zeichen und sitzt dort und wartet. Strg + C bringt Sie zur Eingabeaufforderung zurück. Was ist dort passiert?

Das einfache Zitat oder Apostroph im Wort «Ich bin» verwirrt echo. Dieses einfache Anführungszeichen wurde als Beginn eines zitierten Textabschnitts interpretiert. Weil es kein abschließendes einfaches Anführungszeichen gefunden hat, echo wartete auf weitere Eingaben. Es wurde erwartet, dass weitere Eingaben das fehlende einfache Anführungszeichen enthalten, auf das es gewartet hat.

Um ein einfaches Anführungszeichen in eine Zeichenfolge aufzunehmen, besteht die einfachste Lösung darin, die gesamte Zeichenfolge in doppelte Anführungszeichen zu setzen:

echo "My name is Dave and I'm a geek."

Das Einschließen Ihres Textes in doppelte Anführungszeichen ist ein guter allgemeiner Rat. In Skripten werden die Parameter, an die Sie übergeben, sauber abgegrenzt echo. Dies erleichtert das Lesen und Debuggen von Skripten erheblich.

Was ist, wenn Sie ein doppeltes Anführungszeichen in Ihre Textzeichenfolge aufnehmen möchten? Das ist einfach, setzen Sie einfach einen Backslash vor dem doppelten Anführungszeichen (ohne Leerzeichen dazwischen).

echo "My name is Dave and I'm a "geek.""

Dies umhüllt das Wort „Geek“ für uns mit doppelten Anführungszeichen. Wir werden in Kürze mehr von diesen Charakteren sehen.

Verwenden von Variablen mit Echo

Bisher haben wir vordefinierten Text in das Terminalfenster geschrieben. Wir können Variablen mit verwenden echo um eine Ausgabe zu erzeugen, die dynamischer ist und für die von der Shell Werte eingefügt wurden. Mit diesem Befehl können wir eine einfache Variable definieren:

my_name="Dave"

Eine Variable namens my_name wurde erschaffen. Es wurde der Wert des Textes «Dave» zugewiesen. Wir können den Variablennamen in den Zeichenfolgen verwenden, an die wir übergeben echo und der Wert der Variablen wird in das Terminalfenster geschrieben. Sie müssen ein Dollarzeichen setzen $ vor dem Variablennamen zu vermieten echo weiß, dass es eine Variable ist.

Es gibt eine Einschränkung. Wenn Sie Ihre Zeichenfolge in einfache Anführungszeichen gesetzt haben echo wird alles wörtlich behandeln. Verwenden Sie doppelte Anführungszeichen, damit die Variable und nicht die Variable angezeigt wird.

echo 'My name is $my_name'
echo "My name is $my_name"

Etwas treffend, das ist es wert, wiederholt zu werden:

  • Die Verwendung von Anführungszeichen führt dazu, dass der Text auf eine Art und Weise in das Terminalfenster geschrieben wird.
  • Die Verwendung von Anführungszeichen führt dazu, dass die Variable interpretiert wird – auch als Variablenerweiterung bezeichnet – und in das Terminalfenster geschrieben wird.

Verwenden von Befehlen mit Echo

Wir können einen Befehl mit verwenden echo und integrieren Sie seine Ausgabe in die Zeichenfolge, die in das Terminalfenster geschrieben wird. Wir müssen das Dollarzeichen verwenden $ Als wäre der Befehl eine Variable, und setzen Sie den gesamten Befehl in Klammern.

Wir werden das benutzen Datumsbefehl. Ein Tipp ist, den Befehl alleine zu verwenden, bevor Sie ihn mit verwenden echo. Auf diese Weise identifizieren und korrigieren Sie die Syntax Ihres Befehls, wenn sie mit der Syntax Ihres Befehls nicht übereinstimmt echo Befehl. Dann, wenn die echo Befehl macht nicht das, was Sie erwarten, Sie werden wissen, dass das Problem mit dem sein muss echo Syntax, da Sie die Syntax des Befehls bereits bewiesen haben.

Versuchen Sie dies im Terminalfenster:

date +%D

Und zufrieden, dass wir das bekommen, was wir vom Date-Befehl erwarten, werden wir es in ein integrieren echo Befehl:

echo "Today's date is: $(date +%D)"

Beachten Sie, dass sich der Befehl in Klammern und im Dollarzeichen befindet $ steht unmittelbar vor der ersten Klammer.

Text mit Echo formatieren

Das -e Mit der Option (Backslash-Escapezeichen aktivieren) können wir einige Backslash-Escapezeichen verwenden, um das Layout des Texts zu ändern. Dies sind die Backslash-Zeichen, die wir verwenden können:

  • ein: Alarm (historisch bekannt als BEL). Dies erzeugt den Standard-Alarmton.
  • b: Schreibt ein Rücktastezeichen.
  • c: Bricht jede weitere Ausgabe ab.
  • e: Schreibt ein Escape-Zeichen.
  • f: Schreibt ein Formular-Feed-Zeichen.
  • n: Schreibt eine neue Zeile.
  • r: Schreibt einen Wagenrücklauf.
  • t: Schreibt eine horizontale Registerkarte.
  • v: Schreibt eine vertikale Registerkarte.
  • : Schreibt einen Backslash-Charakter.

Lassen Sie uns einige davon verwenden und sehen, was sie tun.

echo -e "This is a long line of textnsplit across three linesnwithttabstontthetthirdtline"

Der Text wird in eine neue Zeile aufgeteilt, in der wir die verwendet haben n Zeichen und eine Registerkarte wird eingefügt, wo wir die verwendet haben t Figuren.

echo -e "Herevarevverticalvtabs"

Wie n neue Zeilenzeichen, eine vertikale Registerkarte v Verschiebt den Text in die Zeile darunter. Aber im Gegensatz zu den n neue Zeilenzeichen, die v Die vertikale Registerkarte beginnt die neue Zeile nicht bei Spalte Null. Es wird die aktuelle Spalte verwendet.

Das b Rücktaste bewegen den Cursor um ein Zeichen zurück. Wenn mehr Text in das Terminal geschrieben werden soll, überschreibt dieser Text das vorherige Zeichen.

echo -e "123b4"

Die «3» wird durch die «4» überschrieben.

Das r Wagenrücklaufzeichen verursacht echo um zum Anfang der aktuellen Zeile zurückzukehren und weiteren Text aus Spalte Null zu schreiben.

echo -e "123r456"

Die «123» -Zeichen werden durch die «456» -Zeichen überschrieben.

Das a Alarmcharakter erzeugt einen hörbaren «Piepton». Es wird der Standard-Alarmton für Ihr aktuelles Thema verwendet.

echo -e "Make a bleepa"

Das -n Die Option (kein Zeilenumbruch) ist keine Sequenz mit umgekehrten Schrägstrichen, wirkt sich jedoch auf die Kosmetik des Textlayouts aus. Daher werden wir hier darauf eingehen. Es verhindert echo vom Hinzufügen einer neuen Zeile am Ende des Textes. Die Eingabeaufforderung wird direkt nach dem Text angezeigt, der in das Terminalfenster geschrieben wird.

echo -n "no final newline"

Verwenden von Echo mit Dateien und Verzeichnissen

Sie können verwenden echo als eine Art Version des armen Mannes von ls. Ihre Möglichkeiten sind gering, wenn Sie verwenden echo so was. Wenn Sie eine Wiedergabetreue oder Feinsteuerung benötigen, sollten Sie diese besser verwenden ls und seine Legion von Optionen.

Dieser Befehl listet alle Dateien und Verzeichnisse im aktuellen Verzeichnis auf:

echo *

Dieser Befehl listet alle Dateien und Verzeichnisse im aktuellen Verzeichnis auf, deren Name mit «D» beginnt:

echo D*

Dieser Befehl listet alle «.desktop» -Dateien im aktuellen Verzeichnis auf:

echo *.desktop

Ja. Das spielt nicht zu echoStärken. Benutzen ls.

Schreiben in Dateien mit Echo

Wir können die Ausgabe von umleiten echo und entweder Textdateien erstellen oder in vorhandene Textdateien schreiben.

Wenn wir die verwenden > Umleitungsoperator, die Datei wird erstellt, wenn sie nicht vorhanden ist. Wenn die Datei vorhanden ist, wird die Ausgabe von echo wird am Anfang der Datei hinzugefügt und überschreibt alle vorherigen Inhalte.

Wenn wir die verwenden >> Umleitungsoperator, die Datei wird erstellt, wenn sie nicht vorhanden ist. Die Ausgabe von echo wird am Ende der Datei hinzugefügt und überschreibt keinen vorhandenen Inhalt der Datei.

echo "Creating a new file." > sample.txt
echo "Adding to the file." >> sample.txt
cat sample.txt

Mit dem ersten Befehl wird eine neue Datei erstellt und Text eingefügt. Der zweite Befehl fügt am Ende der Datei eine Textzeile hinzu. Das cat Befehl zeigt den Inhalt der Datei im Terminalfenster an.

Und natürlich können wir Variablen einfügen, um unserer Datei einige nützliche Informationen hinzuzufügen. Wenn es sich bei der Datei um eine Protokolldatei handelt, möchten wir möglicherweise einen Zeitstempel hinzufügen. Wir können das mit dem nächsten Befehl tun.

Beachten Sie die einfachen Anführungszeichen um die Parameter für date Befehl. Sie verhindern, dass der Abstand zwischen den Parametern als Ende der Parameterliste interpretiert wird. Sie stellen sicher, dass die Parameter an übergeben werden date korrekt.

echo "Logfile started: $(date +'%D %T')" > logfile.txt
cat logfile.txt

Unsere Logdatei wird für uns erstellt und cat zeigt uns, dass sowohl der Datenstempel als auch der Zeitstempel hinzugefügt wurden.

Das ist das Repertoire von Echo

Ein einfacher Befehl, aber unverzichtbar. Wenn es das nicht gäbe, müssten wir es erfinden.

Immerhin haben Zeus ‘Spielereien etwas Gutes getan.

Continue Reading
Click to comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tendencia