Bash -Fluchtzitate

Bash -Fluchtzitate
Zitieren wird verwendet, um die besondere Bedeutung der Sonderzeichen zu deaktivieren. Es gibt viele Shell -Metacharaccters, die spezifische Bedeutungen haben. Wenn Sie diese Zeichen jedoch darstellen müssen, muss die besondere Bedeutung dieser Zeichen entfernen, und dies erfolgt durch Zitieren des Zeichens. Sie können diese Aufgabe erledigen, indem Sie drei Wege verwenden. Diese sind Flucht Charaktere, Einzelzitate Und Anführungszeichen die mit Beispielen in diesem Tutorial erklärt werden.

Fluchtzeichen:

Bash Escape-Charakter wird durch nicht zitierte Backslash (\) definiert (\). Es bewahrt den wörtlichen Wert des Charakters, gefolgt von diesem Symbol. Normalerweise wird $ symbol in bash verwendet, um jede definierte Variable darzustellen. Aber wenn Sie Flucht vor dem Vorgang verwenden $ Symbol dann wird die Bedeutung von $ ignoriert und druckt den variablen Namen anstelle des Wertes. Führen Sie die folgenden Befehle aus, um die Auswirkungen des Escape -Charakters zu zeigen (\).

Beispiel 1:

Die Bedeutung von 'PWDDer Befehl besteht darin, den aktuellen Arbeitsverzeichnispfad anzuzeigen. Im folgenden Beispiel der Wert der 'PWD'Befehl wird in einer Variablen gespeichert. Wenn \ Das Symbol wird vor dem $ -Symbol verwendet, dann druckt der variable Name anstelle des Wertes.

$ pd = 'pwd'
$ echo $ pd
$ echo \ $ pd

Ausgang:

Einzelzitate:

Wenn Sie Zeichen oder Variable mit einem einzelnen Zitat (') einschließen, repräsentiert es den wörtlichen Wert der Zeichen. Der Wert einer Variablen kann also nicht durch ein einzelnes Zitat gelesen werden und ein einzelnes Zitat kann nicht in anderen einzelnen Zitaten verwendet werden. Einige Beispiele für ein einzelnes Zitat sind unten gezeigt.

Beispiel#2:

In diesem Beispiel wird in der Variablen ein Stringwert gespeichert $ var. ''EchoDer Befehl druckt den Wert dieser Variablen ohne Zitat. Wenn die Variable durch ein einzelnes Zitat zitiert wird, druckt der Variablenname als Ausgabe aus. Wenn vor dem einzigen Zitat der Backslash (\) verwendet wird, wird der Wert der Variablen mit einem einzelnen Zitat gedruckt.

$ var = 'Bash Scripting Language' '
$ echo $ var
$ echo '$ var'
$ echo \ '$ var \'

Ausgang:

Beispiel#3:

Manchmal ist es erforderlich, ein einzelnes Zitat in einer Zeichenfolge zu drucken. Eine einzelne zitierte Zeichenfolge kann kein anderes Zitat in der Zeichenfolge enthalten. Sie können diese Aufgabe erledigen, indem Sie Backslash in der Vorderseite eines einzelnen Zitats hinzufügen. Im folgenden Beispiel ein einzelnes Zitat von nicht Das Wort wird mit Backslash gedruckt.

$ var = $ 'Ich mag dieses Buch nicht'
$ echo $ var

Ausgang:

Beispiel Nr. 4:

Backticks werden nicht durch einzelne Zitate unterstützt. In diesem Beispiel wird der Kalenderwert in eine Variable gespeichert, $ var. Der Wert dieser Variablen wird ordnungsgemäß durch gedruckt Echo Befehl, wenn Sie kein Angebot verwenden. Wenn die Variable jedoch durch ein einzelnes Zitat im Befehl echo zitiert wird, druckt sie den variablen Namen anstelle des Werts der Variablen.

$ var = 'Cal'
$ echo $ var
$ echo '$ var'

Ausgang:

Anführungszeichen

Doppelzitate (") ist eine weitere Möglichkeit, den wörtlichen Wert der Zeichen zu erhalten. Das Dollar Zeichen ($) und Backticks (') können ihre besondere Bedeutung innerhalb von Doppelzitaten behalten. Backslash (\) kann auch seinen Wert beibehalten, wenn er durch Backticks, Doppelzitat und Backslash verwendet wird. Einige Beispiele für Doppelzitate sind unten gezeigt.

Beispiel Nr. 5:

Eine Einschränkung des einzigen Zitats ist, dass es den Wert der Variablen innerhalb des Zitats nicht analysieren kann. In diesem Beispiel wird ein Zeichenfolgenwert einer Variablen zugewiesen, die benannt ist, $ var und drucken Sie den Wert dieser Variablen mit einem Doppelzitat im Echo -Befehl aus.

$ var = 'serverseitiger Skriptsprache'
$ echo "PHP ist ein $ var"

Ausgang:

Beispiel Nr. 6:

Jede Befehlsausgabe kann mit einem doppelten Zitat gedruckt werden. Im folgenden Beispiel, Datum Der Befehl ist durch doppeltes Zitat beigefügt und unter Verwendung eines Doppelzitats gedruckt.

$ echo "Heute ist 'Date'" "

Ausgang:

Beispiel Nr. 7:

Sie können in einem anderen Doppelzitat kein Doppelzitat verwenden, um einen String -Wert zuzuweisen. Wenn Sie ein doppeltes Angebot in der Ausgabe drucken möchten, müssen Sie den Backslash (\) mit der Zeichenfolge verwenden. In ähnlicher Weise können Sie Backticks (') und Backslash (\) in der Ausgabe drucken, indem Sie den Backslash (\) innerhalb des Doppelzitats verwenden. In diesem Beispiel wird der erste Befehl "500" mit dem Doppelzitat drucken.

$ echo "Der Preis ist \" 500 """" ""
$ echo ""\ 'Datum \' Befehl wird für den Datumswert verwendet""
$ echo ""\\ php \\ ist eine Programmiersprache""

Ausgang:

Beispiel#8:

Doppels zitierte und einzeln zitierende Saiten funktionieren gleich, wenn sie ohne Platz in einem Druckbefehl zusammen verwendet werden. Wenn Sie jedoch einen Speicherplatz zwischen den Zeichenfolgenwerten verwenden, behandeln sie als separater Wert und drucken separat. In diesem Beispiel werden im ersten Printf-Befehl drei doppelt zitierte Zeichenfolgen verwendet. Diese Saiten kombinieren und drucken als einzelne Zeichenfolge, wenn Sie den Befehl ausführen. Im zweiten Druckbefehl werden zwei einzeln zitierende und eine doppelt zitierte Saiten verwendet, und es funktioniert wie der erste Druckbefehl. Drei doppelt zitierte Zeichenfolgen mit Speicherplatz werden im Befehl der dritten Druck verwendet. Jeder Zeichenfolgewert funktioniert als separate Zeichenfolge und druckt jede Zeichenfolge in einer neuen Zeile aus.

$ printf '%s \ n' ""Ubuntu"" ""Linuxmint"" ""Fedora""
$ printf '%s \ n' 'ubuntu' ""Linuxmint"" 'Fedora'
$ printf '%s \ n' ""Ubuntu"" ""Linuxmint"" ""Fedora""

Ausgang:

Beispiel Nr. 9:

Erstellen Sie eine Bash -Datei mit dem Namen fliehen.Sch, und fügen Sie den folgenden Code hinzu. In diesem Beispiel wird ein Textdaten mit doppelten Zitaten und Dollarzeichen verwendet. Es wird früher angezeigt, dass doppeltes Zitat und Dollarsymbol nicht in einer Zeichenfolge drucken können, die durch doppeltes Zitat eingeschlossen ist. Der Backslash wird also vor den Doppelzitaten und dem Dollarsymbol hinzugefügt, um diese zu drucken. Hier wird eine für die Schleife verwendet, um die String -Variable zu iterieren, $ String und drucken Sie jedes Wort des Textes aus, der in dieser Variablen gespeichert ist.

#!/Bin/Bash
#Initialisieren Sie die Variable mit einem besonderen Charakter
String = ""Der Preis dieses"" Buches ""ist \ $ 50""
#Jeweils jedes Wort der String -Variablen und drucken Sie sie aus und drucken Sie sie aus
Für Wort in $ string
Tun
Echo $ word
Erledigt

Führen Sie das Skript aus.

$ Bash Escape.Sch

Ausgang:

Abschluss

Hoffe, dieses Tutorial hilft Ihnen, Fluchtzeichen, ein einzelnes Zitat und das doppelte Zitat basierend auf den Anforderungen Ihres Skripts zu verwenden.

"