Wann müssen Sie in der Konfiguration Anführungszeichen verwenden?

Antworten:

29

Die genaue Antwort lautet "nie". Sie können \einige Sonderzeichen wie "" oder ";" in Strings (Zeichen, die die Bedeutung einer Aussage mehrdeutig machen würden), so

add_header X-MyHeader "Test String;"; 

würde funktionieren wie

add_header X-MyHeader Test\ String\;;

In Wirklichkeit: Verwenden Sie einfach Anführungszeichen :)


Edit: Wie manche Leute gerne nitpicken: Die nicht unbedingt vollständige Liste der Zeichen, die eine Aussage mehrdeutig machen können, entspricht meinem Verständnis der nginxKonfigurationssyntax:

<space> " ' { } ; $ \ 

und es könnte notwendig sein, zu flüchten $und \sogar in Anführungszeichen zu setzen, um eine variable Expansion zu vermeiden.

Leider kann ich in den Dokumenten keine vollständige und verbindliche Liste solcher Zeichen finden.

Sven
quelle
1
Es geht nicht immer um Nitpicking. Die Konfigurationsdatei wird möglicherweise von einer Software eines Drittanbieters erstellt. Welche möglicherweise mit einer Vorlage und zu interpolierenden Variablen versehen werden. Die Software kann nicht sicher sein, was die Variablen enthalten können, daher sollte sie im Idealfall wissen, wie eine Zeichenfolge in Anführungszeichen gesetzt wird.
X-Yuri
5

Anführungszeichen sind für Werte erforderlich, die Leerzeichen und / oder andere Sonderzeichen enthalten, andernfalls nginxwerden sie nicht erkannt. In Ihrem aktuellen Beispiel machen Anführungszeichen keinen Unterschied, aber das Zitieren von Werten ist eine gute Praxis / Faustregel

user1700494
quelle
3
Was sind die Liste der Sonderzeichen. Gibt es Dokumentation dazu und wie man ihnen entkommt? Ich habe sowohl einfache als auch doppelte Anführungszeichen in den gleichen Zeilen gesehen ...
Pork 'n' Bunny