So verwenden Sie den Echo-Befehl unter Linux

Ein Linux-Terminalfenster auf einem Ubuntu-Themen-Desktop.

Fatmawati Achmad Zaenuri/Shutterstock



Die |_+_| Befehl ist 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 Echo auch umleiten, um Textdateien und Protokolldateien zu erstellen. Folgen Sie dieser einfachen Anleitung, um herauszufinden, wie.

Echo wiederholt, was Sie ihm sagen, es zu wiederholen

Zeus liebte es, den Olymp zu verlassen, um mit schönen Nymphen zu verkehren. Auf einer Reise sagte er einer Bergnymphe namens Echo zu seine Frau überfallen , Hera, wenn sie ihm folgte. Hera kam, um nach Zeus zu suchen, und Echo tat alles, um Hera im Gespräch zu halten. Schließlich verlor Hera die Beherrschung und verfluchte das arme Echo, sodass sie nur die letzten Worte wiederholte, die jemand anderes gesagt hatte. Was Hera Zeus angetan hat, als sie ihn eingeholt hat, kann man nur vermuten.





Und das ist so ziemlich das Los von |_+_| im Leben. Es wiederholt was es wurde gesagt, es zu wiederholen . Das ist eine einfache Funktion, aber eine wichtige. Ohne |_+_| , könnten wir beispielsweise keine sichtbare Ausgabe von Shell-Skripten erhalten.

Obwohl Sie nicht mit einer Vielzahl von Schnickschnack beladen sind, besteht eine gute Chance, dass |_+_| hat einige Funktionen, von denen Sie nichts wussten oder die Sie vergessen hatten.



rauswerfen? rauswerfen!

Die meisten Linux-Systeme bieten zwei Versionen von |_+_|. Der Bash-Shell hat seine eigene |_+_| eingebaut, und es gibt eine binäre ausführbare Version von |_+_| sowie.

Anzeige

Wir können die beiden verschiedenen Versionen mit den folgenden Befehlen anzeigen:

echo echo



Die |_+_| Befehl sagt uns ob der Befehl, den wir ihm übergeben wie es ist Streit ist eine eingebaute Shell, eine ausführbare Binärdatei, ein Alias ​​oder eine Funktion. Es meldet uns, dass |_+_| ist eine eingebaute Shell.

Sobald es eine Antwort gefunden hat, |_+_| 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 wird standardmäßig verwendet, wenn wir diesen Befehl ausgeben.

Die |_+_| Befehl sucht nach der binären ausführbaren Datei, dem Quellcode und der Manpage für den Befehl, den wir ihm als Befehlszeile übergeben Parameter . Es sucht nicht nach Shell-Builins, da sie keine separate ausführbare Binärdatei haben. Sie sind ein wesentlicher Bestandteil der ausführbaren Bash-Datei.

Die |_+_| Befehl meldet, dass |_+_| ist eine ausführbare Binärdatei im |_+_| Verzeichnis.

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

echo

Anzeige

Die eingebaute Shell weiß nicht, was die |_+_| Befehlszeilenargument ist, es wird nur im Terminalfenster wiederholt:

echo

Die hier gezeigten Beispiele verwenden alle die Standardversion von |_+_| in der Bash-Shell.

Schreiben von Text in das Terminal

Um eine einfache Textzeichenfolge in das Terminalfenster zu schreiben, geben Sie |_+_| . ein und die Zeichenfolge, die angezeigt werden soll:

echo

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

echo

Das Terminalfenster zeigt ein |_+_| unterschreibt und sitzt da und wartet. Strg+C bringt Sie zur Eingabeaufforderung zurück. Was ist da passiert?

Das einfache Anführungszeichen oder der Apostroph im Wort Ich bin verwirrt |_+_|. Es interpretierte dieses einfache Anführungszeichen als Anfang eines zitierten Textabschnitts. Da kein schließendes einfaches Anführungszeichen erkannt wurde, |_+_| wartete auf mehr Input. Es erwartete, dass weitere Eingaben das fehlende einfache Anführungszeichen enthalten würden, auf das es gewartet hatte.

Anzeige

Um ein einfaches Anführungszeichen in eine Zeichenfolge einzufügen, besteht die einfachste Lösung darin, die gesamte Zeichenfolge in doppelte Anführungszeichen einzuschließen:

echo

Das Umschließen Ihres Textes in doppelte Anführungszeichen ist ein guter allgemeiner Rat. In Skripten grenzt es die Parameter, die Sie an |_+_| übergeben, sauber ab. Dies macht das Lesen – und Debuggen – von Skripten viel einfacher.

Was ist, wenn Sie ein doppeltes Anführungszeichen in Ihre Textzeichenfolge einfügen möchten? Das ist ganz einfach, fügen Sie einfach einen Backslash ein |_+_| vor dem doppelten Anführungszeichen (ohne Leerzeichen dazwischen).

type

Dies schließt das Wort Geek für uns in doppelte Anführungszeichen ein. Wir werden mehr davon sehen Backslash-escaped Zeichen kurz.

Verwenden von Variablen mit echo

Bisher haben wir vordefinierten Text in das Terminalfenster geschrieben. Wir können Variablen mit |_+_| . verwenden um eine dynamischere Ausgabe zu erzeugen, in die Werte von der Shell für uns eingefügt werden. Mit diesem Befehl können wir eine einfache Variable definieren:

echoAnzeige

Eine Variable namens |_+_| wurde erschaffen. Es wurde der Wert des Textes Dave zugewiesen. Wir können den Variablennamen in den Strings verwenden, die wir an |_+_| . übergeben , und der Wert der Variablen wird in das Terminalfenster geschrieben. Sie müssen ein Dollarzeichen setzen |_+_| vor dem Variablennamen, um |_+_| wissen, dass es eine Variable ist.

Es gibt einen Vorbehalt. Wenn Sie Ihre Zeichenfolge in einfache Anführungszeichen eingeschlossen haben |_+_| wird alles wörtlich behandeln. Um die Variable zu haben Wert angezeigt, und nicht die Name der Variablen verwenden Sie doppelte Anführungszeichen.

type whereis

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

  • Verwenden von Single Anführungszeichen führen dazu, dass der Text in a . in das Terminalfenster geschrieben wird wörtlich Mode.
  • Verwenden von doppelt Anführungszeichen führen dazu, dass die Variable interpretiert wird – auch als Variablenerweiterung bezeichnet – und die Wert wird in das Terminalfenster geschrieben.

VERBUNDEN: So arbeiten Sie mit Variablen in Bash

Verwenden von Befehlen mit echo

Wir können einen Befehl mit |_+_| . verwenden und füge seine Ausgabe in die Zeichenfolge ein, die in das Terminalfenster geschrieben wird. Wir müssen das Dollarzeichen verwenden |_+_| als ob der Befehl eine Variable wäre, und schließen Sie den gesamten Befehl in Klammern ein.

Wir werden die verwenden Datumsbefehl . Ein Tipp ist, den Befehl allein zu verwenden, bevor Sie ihn mit |_+_| verwenden. Wenn mit der Syntax Ihres Befehls etwas nicht stimmt, identifizieren Sie es und korrigieren es, bevor Sie es in das |_+_| . einfügen Befehl. Wenn dann |_+_| Befehl tut nicht das, was Sie erwarten, Sie wissen, dass das Problem mit dem |_+_| Syntax, weil Sie die Syntax des Befehls bereits bewiesen haben.

Versuchen Sie es also im Terminalfenster:

whereis

Und wenn wir davon überzeugt sind, dass wir das bekommen, was wir vom Datumsbefehl erwarten, integrieren wir ihn in ein |_+_| Befehl:

echo

Beachten Sie, dass der Befehl in Klammern und dem Dollarzeichen steht |_+_| steht unmittelbar vor der ersten Klammer.

Text mit Echo formatieren

Die |_+_| (Backslash-Escapes aktivieren) ermöglicht es uns, einige Backslash-Escape-Zeichen zu verwenden, um das Layout des Textes zu ändern. Dies sind die Zeichen mit Backslash-Escape, die wir verwenden können:

    zu: Alarm (historisch bekannt als BEL). Dadurch wird der standardmäßige Warnton generiert. B: Schreibt ein Backspace-Zeichen. C: Verlässt jede weitere Ausgabe. Und: Schreibt ein Escape-Zeichen. F: Schreibt ein Seitenvorschubzeichen. : Schreibt eine neue Zeile. R: Schreibt einen Wagenrücklauf. T: Schreibt eine horizontale Registerkarte. v: Schreibt eine vertikale Registerkarte. \: Schreibt einen umgekehrten Schrägstrich.
Anzeige

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

/bin

Der Text wird in eine neue Zeile aufgeteilt, in der wir das |_+_| . verwendet haben Zeichen und ein Tab wird eingefügt, wo wir das |_+_| . verwendet haben Zeichen.

echo

Wie die |_+_| neue Zeilenzeichen, ein vertikaler Tabulator |_+_| verschiebt den Text in die darunter liegende Zeile. Aber im Gegensatz zum |_+_| Zeilenumbrüche, die |_+_| vertikale Tabulatortaste beginnt die neue Zeile nicht bei Spalte Null. Es verwendet die aktuelle Spalte.

Die |_+_| Backspace-Zeichen bewegen den Cursor um ein Zeichen zurück. Wenn mehr Text an das Terminal geschrieben werden soll, überschreibt dieser Text das vorherige Zeichen.

--version

Die 3 wird von der 4 überschrieben.

Die |_+_| Wagenrücklaufzeichen verursacht |_+_| um zum Anfang der aktuellen Zeile zurückzukehren und weiteren Text ab Spalte Null zu schreiben.

echo

Die 123 Zeichen werden durch die 456 Zeichen überschrieben.

Die |_+_| Das Warnzeichen erzeugt einen hörbaren Piepton. Es verwendet den Standard-Warnton für Ihr aktuelles Design.

echo

Anzeige

Die |_+_| Die Option (kein Zeilenumbruch) ist keine Sequenz mit Backslash-Escape, aber sie beeinflusst die Schönheit des Textlayouts, daher werden wir sie hier besprechen. Es verhindert |_+_| vom Hinzufügen eines Zeilenumbruchs zum Ende des Textes. Die Eingabeaufforderung erscheint direkt nach dem Text, der in das Terminalfenster geschrieben wird.

>

Verwendung von echo mit Dateien und Verzeichnissen

Sie können |_+_| . verwenden als eine Art Arme-Mann-Version von |_+_|. Ihre Möglichkeiten sind gering, wenn Sie |_+_| . verwenden so was. Wenn Sie eine gewisse Wiedergabetreue oder Feinsteuerung benötigen, verwenden Sie besser |_+_| 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

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

echo

Ja. Dies spielt nicht die Stärken von |_+_| aus. Verwenden Sie |_+_|.

Schreiben in Dateien mit Echo

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

Anzeige

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

Wenn wir die |_+_| . verwenden Umleitungsoperator wird die Datei erstellt, wenn sie nicht existiert. Die Ausgabe von |_+_| wird am Ende der Datei hinzugefügt und überschreibt keinen vorhandenen Inhalt der Datei.

echo my_name

Mit dem ersten Befehl wird eine neue Datei erstellt, in die Text eingefügt wird. Der zweite Befehl fügt am Ende der Datei eine Textzeile hinzu. Die |_+_| Befehl zeigt den Inhalt der Datei im Terminalfenster an.

Und natürlich können wir Variablen hinzufü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. Das können wir mit dem nächsten Befehl tun.

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

echo $

Unser Logfile wird für uns erstellt und |_+_| zeigt uns, dass sowohl der Datumsstempel als auch der Zeitstempel hinzugefügt wurden.

VERBUNDEN: Was sind stdin, stdout und stderr unter Linux?

Das ist Echos Repertoire

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

Zeus' Spielereien haben immerhin etwas Gutes getan.

Linux-Befehle
Dateien Teer · pv · Katze · tac · chmod · Griff · unterschied · sed · Mit · Mann · geschoben · popd · fsck · Testdisk · seq · fd · pandoc · CD · $PFAD · awk · beitreten · jq · falten · einzigartig · Journalctl · Schwanz · Zustand · ls · fstab · rauswerfen · weniger · chgrp · chown · rev · suchen · Saiten · Typ · umbenennen · Postleitzahl · entpacken · montieren · ummount · Installieren · fdisk · mkfs · rm · rmdir · rsync · df · gpg · wir · Nano · mkdir · von · ln · Patch · Konvertieren · rclon · Fetzen · SRM
Prozesse alias · Bildschirm · oben · nett · renice · Fortschritt · strace · System · tmux · chsh · Geschichte · beim · Charge · kostenlos · die · dmesg · Benutzermod · ps · chroot · xargs · tty · kleiner Finger · lsof · vmstat · Auszeit · Mauer · ja · töten · Schlaf · sudo · seine · Zeit · groupadd · Benutzermod · Gruppen · lshw · stilllegen · neu starten · halt · ausschalten · passwd · lscpu · crontab · Datum · bg · fg
Vernetzung netstat · Klingeln · Traceroute · ip · ss · Wer ist · fail2ban · bmon · Sie · Finger · nmap · ftp · Locken · wget · Wer · Wer bin ich · In · iptables · ssh-keygen · ufw

VERBUNDEN: Beste Linux-Laptops für Entwickler und Enthusiasten

WEITER LESEN Profilfoto von Dave McKay Dave McKay
Dave McKay benutzte zum ersten Mal Computer, als Lochstreifen in Mode waren, und programmiert seitdem. Nach über 30 Jahren in der IT-Branche ist er heute hauptberuflich Technologiejournalist. Im Laufe seiner Karriere war er als freiberuflicher Programmierer, Leiter eines internationalen Softwareentwicklungsteams, Projektleiter für IT-Services und zuletzt als Datenschutzbeauftragter tätig. Sein Schreiben wurde von howtogeek.com, cloudavvyit.com, itenterpriser.com und opensource.com veröffentlicht. Dave ist ein Linux-Evangelist und Open-Source-Verfechter.
Vollständige Biografie lesen

Interessante Artikel