Unterschied zwischen Einzel- und Doppelzitaten in Bash

Unterschied zwischen Einzel- und Doppelzitaten in Bash

Bash, die in den meisten Linux -Verteilungen verwendete Shell, bietet verschiedene Möglichkeiten, Zeichenfolgen zu zitieren. Unter diesen zitierten Zitaten (”) und doppelte Zitate ("") sind die am häufigsten verwendeten. Während sie ähnlich aussehen, haben sie ein anderes Verhalten und können sich auswirken, wie die Schale den Inhalt der Saite interpretiert.

In diesem Artikel werden wir die Unterschiede zwischen Einzel- und Doppelzitaten in Bash untersuchen.

Einzelzitate (")

Einzelne Zitate werden verwendet, um eine Zeichenfolge in Bash einzuschließen. Wenn eine Zeichenfolge in einzelnen Zitaten eingeschlossen ist, behandelt die Shell den Inhalt der Zeichenfolge als wörtliche Zeichenfolge ohne Interpretation. Dies bedeutet, dass alle Sonderzeichen innerhalb der einzelnen Zitate als reguläre Zeichen behandelt werden und keine Expansion oder Substitution stattfindet.

Zum Beispiel, wenn wir eine Zeichenfolge haben, die ein Dollarzeichen enthält ($), Welches ist ein besonderer Charakter in Bash, und wir haben es in einzeln. Hier ist ein Beispiel:

Echo 'mein Gehalt beträgt 1000 US -Dollar'
1Echo 'mein Gehalt beträgt 1000 US -Dollar'

In diesem Beispiel die Zeichenfolge "Mein Gehalt beträgt 1000 US -Dollar" ist in einzelnen Zitaten eingeschlossen. Wenn wir den Befehl ausführen, behandelt die Shell die Zeichenfolge als wörtliche Zeichenfolge und druckt sie genau so aus, wie sie ist, ohne das Dollar -Schild zu erweitern.

Anführungszeichen ("")

Doppelzitate werden auch verwendet, um eine Zeichenfolge in Bash einzuschließen. Wenn eine Zeichenfolge in doppelten Zitaten eingeschlossen ist, behandelt die Shell den Inhalt der Zeichenfolge anders als mit einzelnen Zitaten. Insbesondere erweitert die Shell Variablen und bestimmte Sonderzeichen innerhalb der Doppelzitate.

Zum Beispiel, wenn wir eine Variable haben $ Name das enthält einen Wert 'John', und wir haben es in doppelten Zitaten ein, die Schale erweitert die Variable und ersetzt ihren Wert in der Zeichenfolge. Hier ist ein Beispiel:

name = "John" echo "Hallo, $ Name!"
12Name = 'John'echo "Hallo, $ Name!"

In diesem Beispiel ist der Name der Variablen $ in doppelten Zitaten eingeschlossen. Wenn wir den Befehl ausführen, erweitert die Shell die Variable und ersetzt ihren Wert in der Zeichenfolge, was zur Ausgabe führt 'Hallo John!''.

Doppelte Zitate ermöglichen auch die Verwendung bestimmter Sonderzeichen wie Backslashes (\) und Ausrufezeichen (!) Innerhalb der Zeichenfolge. Diese Charaktere können mit einem Backslash entkommen (\) Um ihre besondere Bedeutung zu vermeiden.

Wenn wir beispielsweise ein Ausrufezeichen in unsere Zeichenfolge aufnehmen möchten, die eine besondere Bedeutung in Bash hat, können wir ihm mit einem Backslash entkommen, um seine besondere Bedeutung zu vermeiden. Hier ist ein Beispiel:

Echo "Dies ist ein Ausrufezeichen: \!"
1Echo "Dies ist ein Ausrufezeichen: \!"

In diesem Beispiel wird das Ausrufezeichen mit a entkommen Backslash (!) Um seine besondere Bedeutung zu vermeiden. Wenn wir den Befehl ausführen, behandelt die Shell das Ausrufezeichen als reguläres Zeichen und druckt ihn in der Ausgabe aus.

Abschluss

Zusammenfassend lässt sich sagen. Einzelzitate behandeln den Inhalt der Zeichenfolge als wörtliche Zeichenfolge ohne Interpretation oder Substitution, während doppelte Zitate die Ausdehnung von Variablen und bestimmten Sonderzeichen ermöglichen. Bei der Verwendung von Zitaten in Bash ist es wichtig, die Unterschiede zwischen einzelnen und doppelten Zitaten zu verstehen und die geeignete basierend auf dem beabsichtigten Verhalten auszuwählen.