सवाल पावरहेल में शाब्दिक बचने का चरित्र क्या है?


पावरहेल में उद्धृत स्ट्रिंग के अंदर एक शाब्दिक उद्धरण चरित्र को शामिल करते समय, मैं उद्धरण चरित्र से कैसे बचूं यह इंगित करने के लिए कि यह एक स्ट्रिंग डिलीमीटर के बजाय एक शाब्दिक है?


36
2017-07-29 22:34


मूल




जवाब:


से help about_quoting_rules

एक स्ट्रिंग में डबल-कोटेशन अंक दिखने के लिए,   एकल उद्धरण चिह्नों में पूरी स्ट्रिंग को संलग्न करें। उदाहरण के लिए:

'As they say, "live and learn."'

इस आदेश से आउटपुट है:

As they say, "live and learn."

आप एक डबल-उद्धृत स्ट्रिंग में एकल-उद्धृत स्ट्रिंग को भी संलग्न कर सकते हैं।   उदाहरण के लिए:

"As they say, 'live and learn.'"

इस आदेश से आउटपुट है:

As they say, 'live and learn.'

सचमुच एक डबल उद्धरण चिह्न की व्याख्या करने के लिए Windows PowerShell को मजबूर करने के लिए,   एक बैकटिक चरित्र का प्रयोग करें। यह विंडोज पावरशेल को व्याख्या करने से रोकता है   एक स्ट्रिंग डेलीमीटर के रूप में उद्धरण चिह्न। उदाहरण के लिए:

"Use a quotation mark (`") to begin a string."

इस आदेश से आउटपुट है:

Use a quotation mark (") to begin a string.

चूंकि एकल-उद्धृत तारों की सामग्री का शाब्दिक अर्थ है,   आप एक शाब्दिक चरित्र को मजबूर करने के लिए बैकटिक चरित्र का उपयोग नहीं कर सकते हैं   एक उद्धृत स्ट्रिंग में व्याख्या।

सिंगल उद्धृत तारों में अन्य उद्धरण चिह्नों से बचने के लिए बैकटिक चरित्र का उपयोग PowerShell के हाल के संस्करणों में समर्थित नहीं है। पावरशेल के पुराने संस्करणों में बैकटिक एस्केप कैरेक्टर का उपयोग एक उद्धृत चिह्न के भीतर एक डबल उद्धरण चिह्न चरित्र से बचने के लिए किया जा सकता है जैसा कि विस्तृत किया गया है help about_quoting दस्तावेज़ जो PowerShell के उन संस्करणों में उपलब्ध है।


54
2017-07-29 22:45



मुझे यह जवाब पसंद है क्योंकि प्रश्न के उत्तर देने के अलावा, यह पावरहेल के भीतर से जवाब कैसे प्राप्त करें, इसके बारे में अतिरिक्त जानकारी भी प्रदान करता है। धन्यवाद। - David Alpert
बस एक नोट, लेकिन ऐसा प्रतीत होता है कि आप एकल-उद्धरण से बच नहीं सकते हैं आपका अंतिम उदाहरण मान्य नहीं है। शायद आपकी पोस्ट के बाद कुछ बदल गया है, क्योंकि मुझे वह नहीं मिल रहा है about_quoting या तो मदद करें। चल रहा शक्तिशक्ति v5.1। डबल कोट्स से बचने, या विभिन्न प्रकार के उद्धरण घोंसले अभी भी अपेक्षित काम करता है। - Kal Zekdor
दिलचस्प - ऐसा लगता है कि एकल-उद्धरण से बचने के लिए समर्थन एक बग था। About_quoting सहायता फ़ाइल को लगभग_quoting_rules द्वारा प्रतिस्थापित किया गया है और यह स्पष्ट रूप से कहता है कि आप PowerShell v5 में सिंगल कोट्स से बचने के लिए बैकटिक का उपयोग नहीं कर सकते हैं क्योंकि एकल उद्धृत तार अक्षर हैं। अच्छी पकड़, यह वी 3 में अलग था। - Helvick
ध्यान दें कि एकल उद्धरण एसक्यूएल में एकल-उद्धृत तारों में दोगुनी होकर बच निकले हैं। इस प्रकार 'As they say, ''live and learn.''' आउटपुट As they say, 'live and learn.', आपके दूसरे उदाहरण के समान। - brianary


पावरहेल में बचने का पात्र "` "(पिछड़ा एस्ट्रोफ़े / कब्र) है।

इसका उपयोग उद्धरण और विशेष वर्णों से बचने के लिए भी किया जा सकता है (उदाहरण के लिए, टैब टी नहीं है)।


9
2017-07-29 23:20



यह शायद ड्राइव करेगा bash उपयोगकर्ता पागल हो जाते हैं। ( cmd.exe बचने का चरित्र है ^) - grawity
खैर, अगर आप झुकाव करते हैं तो यह बैकस्लैश की तरह दिखता है। - koenigdmj


यहां जो कुछ भी पहले ही प्रदान किया गया है, उसे बधाई देने के लिए, आपको यह भी पता होना चाहिए कि आप उद्धरण के साथ एक उद्धरण (सिंगल या डबल) से बच सकते हैं। इसका मतलब है कि आप यह कर सकते हैं:

"यहां एक डबल-उद्धृत स्ट्रिंग का उदाहरण है" "।

और इस:

'इस बार यह' 'एकल उद्धृत' 'है।'

इस वाक्यविन्यास का लाभ सरल है: बैकटिक के साथ उद्धरण से बचने के लिए दो बार एक ही उद्धरण टाइप करना आसान है।


8
2017-07-31 04:27





सिंगल 'टेक्स्ट' इसलिए इसे शाब्दिक पाठ के रूप में माना जाता है, फिर "\" का उपयोग करके किसी विशेष वर्ण से बचें

जैसे यह स्ट्रिंग: "जैसा कि वे कहते हैं," रहते हैं और सीखते हैं। "" इस स्ट्रिंग बन जाती है 'जैसा कि वे कहते हैं, \ "रहते हैं और सीखते हैं। \"


-1
2018-01-19 12:44



PowerShell में नहीं, यह नहीं है। पीएस सी: \ विन्डोज़ \ system32> लिखें-होस्ट 'जैसा कि वे कहते हैं, \ "लाइव और सीखें। \"' जैसा कि वे कहते हैं, \ "लाइव और सीखें। \" - HopelessN00b