Kapan Anda harus menggunakan tanda kutip dalam konfigurasi?


Jawaban:


29

Jawaban yang tepat adalah "tidak pernah". Anda dapat mengutip atau \-escape beberapa karakter khusus seperti "" atau ";" dalam string (karakter yang akan membuat makna pernyataan menjadi ambigu), jadi

add_header X-MyHeader "Test String;"; 

akan bekerja seperti

add_header X-MyHeader Test\ String\;;

Pada kenyataannya: Cukup gunakan kutipan :)


Sunting: Seperti beberapa orang suka nitpick: Daftar karakter yang belum tentu lengkap yang dapat membuat pernyataan ambigu menurut pemahaman saya tentang nginxsintaks konfigurasi:

<space> " ' { } ; $ \ 

dan mungkin perlu untuk melarikan diri $dan \bahkan dalam string yang dikutip untuk menghindari ekspansi variabel.

Sayangnya, saya tidak dapat menemukan daftar karakter yang lengkap dan otoritatif dalam dokumen.


1
Ini tidak selalu tentang nitpicking. File konfigurasi mungkin dihasilkan oleh perangkat lunak pihak ketiga. Yang mungkin disediakan dengan templat dan variabel yang akan diinterpolasi. Perangkat lunak tidak dapat memastikan variabel apa yang dapat berisi, jadi idealnya ia harus tahu cara mengutip string apa pun.
x-yuri

5

Harga diperlukan untuk nilai yang mengandung spasi dan / atau beberapa karakter khusus lainnya, jika nginxtidak tidak akan mengenalinya. Dalam contoh Anda saat ini, kutipan tidak ada bedanya, tetapi tetap saja mengutip nilai adalah praktik yang baik


3
Apa daftar karakter khusus. Apakah ada dokumentasi tentang ini dan bagaimana cara menghindarinya. Saya telah melihat tanda kutip tunggal dan ganda pada baris yang sama ...
Pork 'n' Bunny
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.