आपको कॉन्फ़िगरेशन में उद्धरण का उपयोग कब करना है?


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\;;

हकीकत में: बस उद्धरण का उपयोग करें :)


संपादित करें: जैसा कि कुछ लोग नाइटपिक से प्यार करते हैं: जरूरी नहीं कि पात्रों की पूरी सूची जो एक बयान को अस्पष्ट बना सकती है वह nginxविन्यास वाक्य विन्यास की मेरी समझ के अनुसार है :

<space> " ' { } ; $ \ 

और चर विस्तार से बचने के लिए $और \यहां तक ​​कि उद्धृत स्ट्रिंग्स में भागना आवश्यक हो सकता है ।

दुर्भाग्य से, मैं डॉक्स में इस तरह के पात्रों की एक पूरी और आधिकारिक सूची नहीं पा सकता हूं।


1
यह हमेशा नाइटपैकिंग के बारे में नहीं है। कॉन्फ़िगरेशन फ़ाइल किसी तृतीय-पक्ष सॉफ़्टवेयर द्वारा बनाई जा सकती है। जिसे एक टेम्पलेट और चर के साथ प्रदान किया जा सकता है जिसे प्रक्षेपित किया जा सकता है। सॉफ्टवेयर यह सुनिश्चित नहीं कर सकता है कि चर क्या हो सकते हैं, इसलिए आदर्श रूप से यह जानना चाहिए कि किसी भी स्ट्रिंग को कैसे उद्धृत किया जाए।
x- यूरी

5

उन मूल्यों के लिए उद्धरण आवश्यक हैं जो स्थान (नों) और / या कुछ अन्य विशेष वर्णों से युक्त हैं, अन्यथा nginxउन्हें पहचान नहीं पाएंगे। आपके मौजूदा उदाहरण में उद्धरणों से कोई फर्क नहीं पड़ता है, लेकिन वैसे भी मूल्यों को उद्धृत करना अंगूठे का एक अच्छा अभ्यास / नियम है


3
विशेष पात्रों की सूची क्या है। क्या इस पर प्रलेखन है और उन्हें कैसे बचना है। मैंने दोनों सिंगल और डबल कोट्स को एक ही तर्ज पर देखा है ...
पोर्क 'एन' बनी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.