हिन्दी

डेवलपर टूल · Docker रन टू Docker Compose कन्वर्टर

उद्धरण, लाइन ब्रेक और $VARS: Docker रन कमांड को सही ढंग से पार्स करना

· यह काम किस प्रकार करता है

डाक में काम करनेवाला मज़दूर कमांड-लाइन का हवाला देते हुए

उद्धरण, पंक्ति विराम और $vars को दर्शाने वाला सार आरेख: Docker रन कमांड को सही ढंग से पार्स करना
मूल ToolAcre वेक्टर चित्रण

Docker द्वारा देखे जाने से पहले Docker रन कमांड शेल इनपुट होता है। यह पोस्ट बताती है कि कैसे उद्धरण और लाइन निरंतरता टोकन को बदल देती है, और कोई भी कन्वर्टर आपके शेल वेरिएबल्स का विस्तार क्यों नहीं कर सकता है।

कन्वर्टर को शाब्दिक $HOME प्राप्त हुआ - कमांड आपके टर्मिनल में काम करता है क्योंकि शेल डॉकटर चलने से पहले इसका विस्तार करता है

कन्वर्टर को शाब्दिक $HOME प्राप्त हुआ - कमांड आपके टर्मिनल में काम करता है क्योंकि शेल डॉकटर चलने से पहले इसका विस्तार करता है। साक्ष्य: $HOME टेक्स्ट बना रहता है क्योंकि टोकनाइज़र कोई विस्तार नहीं करता है। डिस्पोज़ेबल लिटरल के साथ शेल टोकननाइजेशन को पुन: प्रस्तुत करें। प्रत्येक स्रोत घटना को उद्धृत टोकन और निरंतरता के साथ जोड़ें; गंतव्य समीक्षा के लिए आरक्षित विस्तार और विंडोज़ पार्सिंग।

उद्धृत करने की घटना से यह भी पता चलता है कि एक अलग उद्धरण घटना की सीमा यह है कि एकल उद्धरण शाब्दिक हैं और दोहरे उद्धरण प्रलेखित पलायन की प्रक्रिया है। साक्ष्य: एकल उद्धरण शाब्दिक हैं और दोहरे उद्धरण प्रलेखित पलायन की प्रक्रिया है। यह शेल टोकननाइजेशन बाधा एक रोक बिंदु है। विनिर्माण व्यवहार के बिना उद्धृत टोकन और निरंतरता का निरीक्षण करें, फिर विस्तार और विंडोज पार्सिंग के लिए होस्ट चेक का दस्तावेजीकरण करें।

यह टोकनाइज़र चयनित POSIX शेल शब्द नियमों जैसा दिखता है लेकिन कोई चर या कमांड विस्तार नहीं करता है

शेल पहले, Docker दूसरे - Docker को प्राप्त टोकन शेल के उद्धरण, विभाजन और विस्तार का परिणाम हैं। साक्ष्य: चयनित POSIX जैसे शब्द नियम शेल बने बिना लागू किए जाते हैं; यह टोकनाइज़र चयनित POSIX शेल शब्द नियमों से मिलता-जुलता है, लेकिन कोई वेरिएबल या कमांड विस्तार नहीं करता है। उद्धृत टोकन और निरंतरता में शेल टोकननाइजेशन टोकन का पता लगाएं। अंतिम-मूल्य वाले फ़ील्ड से ऑर्डर किए गए मानों को अलग करें; विस्तार और विंडोज़ पार्सिंग संग्रह के बाहर है।

एक संबंधित उद्धरण तंत्र सीमा यह है कि इस उद्धरण अनुभाग के लिए इस उम्मीदवार फ़ाइल के बगल में इस उद्धरण अनुभाग के लिए मूल आदेश और इस उद्धरण अनुभाग के लिए चेतावनियाँ रखें। साक्ष्य: भंडार कोई व्यापक रनटाइम या ऐतिहासिक प्रमाण नहीं देता है। उद्धृत टोकन और निरंतरता में एक सदस्य या स्केलर की भविष्यवाणी करने के लिए इस शेल टोकननाइजेशन तथ्य का उपयोग करें। विस्तार और विंडोज़ पार्सिंग के बारे में कुछ भी निर्णय लेने से पहले चेतावनियों की जाँच करें।

बैकस्लैश-न्यूलाइन निरंतरता - कमांड को तोड़ने के बाद अनुगामी बैकस्लैश एक शेल सुविधा और एक आवारा स्थान क्यों है

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

दूसरा उद्धरण क्रमांकन अवलोकन एक अलग उद्धरण आउटपुट सीमा है कि एक विकी नमूने को सामान्यीकृत किया जा सकता है और इसके शाब्दिक टोकन का निरीक्षण किया जा सकता है। साक्ष्य: एक विकी नमूने को सामान्यीकृत किया जा सकता है और उसके शाब्दिक टोकन का निरीक्षण किया जा सकता है। यह शेल टोकननाइजेशन आउटपुट सेटिंग्स को अनुपलब्ध संदर्भ से अलग करता है। उद्धृत टोकन और निरंतरता को समीक्षा योग्य रखें और विस्तार और विंडोज़ पार्सिंग की स्वतंत्र रूप से जाँच करें।

सिंगल कोट्स, डबल कोट्स और मूल्यों में रिक्त स्थान - -e MSG='हैलो वर्ल्ड' बनाम -e MSG=हैलो वर्ल्ड

सिंगल कोट्स, डबल कोट्स और मूल्यों में रिक्त स्थान - -e MSG='हैलो वर्ल्ड' बनाम -e MSG=हैलो वर्ल्ड। अनुमान लगाने के बजाय शेल टोकनाइजेशन अपवाद पर रुकें। उद्धृत टोकन और निरंतरता के निकट किसी भी अतिरिक्त को विस्तार और विंडोज पार्सिंग से जुड़े एक तैनाती-विशिष्ट कारण की आवश्यकता होती है।

एक अन्य उद्धरण अपवाद बाधा यह है कि एक अलग उद्धरण अपवाद सीमा यह है कि Docker विकल्प arity टोकननाइजेशन का पालन करता है और विंडोज नियम अनुपस्थित हैं। साक्ष्य: Docker ऑप्शन एरीटी टोकनाइजेशन का पालन करता है और विंडोज नियम अनुपस्थित हैं। मूल शेल टोकननाइजेशन कमांड को चेतावनियों के पास रखें। तुलना से पता चलता है कि उद्धृत टोकन और निरंतरता में क्या शामिल है और कौन सा विस्तार और विंडोज पार्सिंग निर्णय मैन्युअल रहता है।

डॉलर के भाव, सबशेल सिंटैक्स और टिल्ड शाब्दिक रहते हैं क्योंकि कन्वर्टर एक शेल नहीं है

चर और उपकोश - $PWD, $(id -u) और ~ आपके शेल द्वारा विस्तारित होते हैं, इसलिए एक कन्वर्टर उन्हें शाब्दिक रूप से देखता है। साक्ष्य: सबशेल नोटेशन बैकटिक्स डॉलर वेरिएबल्स और टिल्ड का कभी मूल्यांकन नहीं किया जाता है; डॉलर के भाव, सबशेल सिंटैक्स और टिल्ड शाब्दिक रहते हैं क्योंकि कन्वर्टर एक शेल नहीं है। सिंथेटिक नामों से शेल टोकननाइजेशन उदाहरण बनाएं। उत्पादन विस्तार और विंडोज़ पार्सिंग विवरण को उजागर किए बिना प्रत्येक उद्धृत टोकन और निरंतरता आइटम को ट्रेस करने योग्य बनाएं।

वही उद्धरण उदाहरण नमूना दर्शाता है कि इस उद्धरण अनुभाग के लिए इस उद्धरण अनुभाग के लिए मूल कमांड और इस उद्धरण अनुभाग के लिए चेतावनियों को इस उम्मीदवार फ़ाइल के बगल में रखें। युग्मित शेल टोकननाइजेशन तथ्य उद्धृत टोकन और निरंतरता में दिखाई देना चाहिए। उस पंक्ति को रिकॉर्ड करें और विस्तार और विंडोज़ पार्सिंग के बारे में धारणाओं से बचें।

कारगर उदाहरण: विकी-चिपकाए गए कमांड को साफ करना - निरंतरता को सामान्य बनाना और रूपांतरण से पहले उद्धृत करना, फिर YAML की जांच करना

कारगर उदाहरण: विकी-चिपकाए गए कमांड को साफ करना - निरंतरता को सामान्य बनाना और रूपांतरण से पहले उद्धृत करना, फिर YAML की जांच करना। शेल टोकननाइजेशन परिणाम को एक अवलोकन योग्य उद्धृत टोकन और निरंतरता अंतर में अनुवाद करें। Docker बाद के विस्तार और विंडोज़ पार्सिंग फैसले का मालिक है।

उद्धरण परिणाम कार्यान्वयन यह भी दर्शाता है कि एक अलग उद्धरण प्रभाव सीमा यह है कि $HOME टेक्स्ट बना रहता है क्योंकि टोकनाइज़र कोई विस्तार नहीं करता है। स्प्लिट शेल टोकनाइजेशन जिम्मेदारियां: रूपांतरण उद्धृत टोकन और निरंतरता लिखता है, रिपॉजिटरी रहस्यों को हटा देता है, और ऑपरेटर विस्तार और विंडोज पार्सिंग को मान्य करते हैं।

विंडोज़ शेल उद्धरण और पूर्ण POSIX विस्तार दोनों इस पार्सर के बाहर हैं

इसमें क्या शामिल नहीं है - Docker रन का अपना विकल्प पार्सिंग विचित्रताएं, जैसे = बनाम स्पेस, और विंडोज़ शेल अंतर उद्धृत करना। साक्ष्य: Docker विकल्प व्यवस्था टोकनाइजेशन का पालन करती है और विंडोज नियम अनुपस्थित हैं; विंडोज़ शेल उद्धरण और पूर्ण POSIX विस्तार दोनों इस पार्सर के बाहर हैं। यहां दिखाए गए उद्धृत टोकन और निरंतरता शाखाओं तक शेल टोकनाइजेशन का दायरा सीमित करें। पड़ोसी प्रपत्र और डिफ़ॉल्ट विस्तार और विंडोज़ पार्सिंग प्रश्नों का उत्तर नहीं दे सकते।

इस उद्धरण अनुभाग के लिए मूल आदेश और इस उम्मीदवार फ़ाइल के बगल में चेतावनियाँ रखने से एक और उद्धरण दायरा सीमा का पालन होता है। इस शेल टोकननाइजेशन सीमा को एक बहिष्करण के रूप में मानें। विस्तार और विंडोज़ पार्सिंग के बारे में अनुमानों की तुलना में सटीक उद्धृत टोकन और निरंतरता को प्राथमिकता दें।

टेकअवे: कन्वर्टर को वह दें जो Docker देखेगा - और शेल वेरिएबल्स को शाब्दिक मानों से बदलें या ${VAR} इंटरपोलेशन लिखें

टेकअवे: कन्वर्टर को वह दें जो Docker देखेगा - और शेल वेरिएबल्स को शाब्दिक मानों से बदलें या ${VAR} इंटरपोलेशन लिखें। साक्ष्य: विश्वसनीय इनपुट का अर्थ है विश्लेषण के लिए शाब्दिक शब्दों की आपूर्ति करना। स्रोत विकल्प, मॉडल फ़ील्ड, उद्धृत टोकन और निरंतरता लाइन और चेतावनी के रूप में ऑडिट शेल टोकनाइजेशन। विस्तार और विंडोज़ पार्सिंग की जाँच करने से पहले रहस्य हटाएँ।

अंत में, उद्धरण टेकअवे स्रोत पुष्टि करता है कि एक अलग उद्धरण निर्णय सीमा यह है कि बैकस्लैश-न्यूलाइन गायब हो जाती है जबकि टर्मिनल लोन बैकस्लैश विफल हो जाता है। शेल टोकनाइजेशन को संकीर्ण रूप से बंद करें: उद्धृत टोकन और निरंतरता एक उम्मीदवार है; विस्तार और विंडोज़ पार्सिंग और शेल समतुल्यता की गारंटी नहीं है।