GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Einschließen Vs. Den Wert einer Variablen nicht in Anführungszeichen in Bash setzen?

Für diese Frage gibt es hier bereits Antworten :Wann sind doppelte Anführungszeichen erforderlich?

(1 Antwort)
Warum verschluckt sich mein Shell-Skript an Leerzeichen oder anderen Sonderzeichen?

(6 Antworten)
Vor 3 Jahren geschlossen.

Wenn ich so etwas mache:

x="hi echo hello"

oder

x='hi echo hello'

Dann x wird die Zeichenkette hi echo hello enthalten .

Aber wenn ich keine Anführungszeichen verwende:

x=hi echo hello

Dann x wird die Zeichenkette hi enthalten , und den Befehl echo hello wird ausgeführt.

Aber was ist, wenn der Wert einer Variablen nur aus einem einzigen Wort besteht, gibt es einen Unterschied zwischen den folgenden:

x="hi"
x='hi'
x=hi

Akzeptierte Antwort:

Nur wenn die Welt Substitutionen enthält.

Also

x=$FRED

unterscheidet sich von:

x='$FRED'

Linux
  1. Platzhalter in Anführungszeichen?

  2. Bash Echo Die Befehlszeile wird in der Befehlszeile selbst ausgeführt (nicht in einem Skript)?

  3. Verwenden von Case-Anweisungen in Bash

  4. Echo:Befehl nicht gefunden

  5. Array in Bash nicht gefunden

Wie fügt man Zeilenumbrüche in Variablen im Bash-Skript ein?

Runden Sie eine geteilte Zahl in Bash

Bash-Shell-Skript - Suchen Sie nach einem Flag und holen Sie sich seinen Wert

Bash:Warum wird das übergeordnete Skript nicht bei SIGINT beendet, wenn das untergeordnete Skript SIGINT abfängt?

Was ist die Verwendung von $ # in Bash

Der MD5-Hashwert unterscheidet sich von Bash und PHP