Коли вам доведеться використовувати лапки в конфігурації?


24

Я бачив, як люди використовують надмірні цитати :

add_header 'Access-Control-Allow-Origin' '*';

Я бачив, як люди не використовують лапок :

add_header Access-Control-Allow-Origin *;

Наскільки я знаю, обидва працюють нормально, тож коли ви насправді повинні використовувати лапки?

Відповіді:


29

Точна відповідь - "ніколи". Ви можете або процитувати, або \-сказати деякі спеціальні символи, такі як "" або ";" у рядках (символи, які зробили б значення висловлення неоднозначним), так

add_header X-MyHeader "Test String;"; 

працював би як

add_header X-MyHeader Test\ String\;;

Насправді: просто використовуйте цитати :)


Редагувати: Оскільки деякі люди люблять nitpick: Не обов'язково повний список символів, які можуть зробити заяву неоднозначним, є моїм розумінням nginxконфігураційного синтаксису:

<space> " ' { } ; $ \ 

і може знадобитися уникнути $і \навіть у цитованих рядках, щоб уникнути змінного розширення.

На жаль, я не можу знайти повний і авторитетний список таких символів у документах.


1
Справа не завжди в тому, що нітрошить. Файл конфігурації може бути створений стороннім програмним забезпеченням. Які можуть бути забезпечені шаблоном та змінними, які слід інтерполювати. Програмне забезпечення не може бути впевнене, що можуть містити змінні, тому в ідеалі воно повинно знати, як цитувати будь-який рядок.
x-yuri

5

Цитати потрібні для значень, що містять пробіли та / або деякі інші спеціальні символи, інакше nginxїх не розпізнають. У вашому поточному прикладі котирування не мають значення, але все одно цитування значень є хорошою практикою / правилом роботи


3
Назвіть список спеціальних символів. Чи є на це документація і як від них уникнути. Я бачив як однакові, так і подвійні лапки в одних і тих же рядках ...
Pork 'n' Bunny
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.