कमांड लाइन में एम्परसेंड के मूल्यांकन को कैसे छोड़ें?


14

कमांड लाइन में (जब टर्मिनल के माध्यम से क्रोमियम ब्राउज़र के साथ खोलने के लिए) Google मैप्स दिशा-निर्देश इनपुट करते हैं, तो URL में एक एम्परसेंड ( &) होता है, हालांकि यूनिक्स सामान यूनिक्स सामान होने के कारण टर्मिनल इसे वहां तोड़ देता है। क्या ऐसा कुछ है जो मैं टर्मिनल में टाइप कर सकता हूं कि जब कमांड वास्तव में गुजरता है, तो इसे एम्परसैंड की तरह माना जाएगा?

होगा; amp; काम?

जवाबों:


16

आपको पते को उद्धरणों में रखना होगा:

chromium-browser 'http://whatever.com/?x=1&y=2'

ठीक है, मेरे पास अंत में उद्धरण था, लेकिन सामने वाला नहीं ... जो इसे समझाता है। धन्यवाद।
लेरन

7

उद्धरण इसे ठीक कर देंगे लेकिन आप बैक-स्लेश के साथ चीजों से बच सकते हैं:

echo http://whatever.com/?x=1\&y=2

यह कहना बेहतर नहीं है, किसी भी तरह से, यह इस तरह की स्थितियों के लिए सिर्फ एक और विकल्प है।


1

यह वास्तव में इस मामले में मायने नहीं रखेगा, लेकिन एकल उद्धरण और दोहरे उद्धरण चिह्नों में अंतर है।

डबल कोट्स विशेष वर्णों जैसे '$' और उद्धरणों को स्थानापन्न करेंगे, जबकि एकल उद्धरण क्लोजिंग उद्धरण को छोड़कर, सब कुछ शाब्दिक रूप से व्यवहार करते हैं।

दोनों पाठ को एक साथ जोड़ेंगे, जो क्रोमियम को एक एकल तर्क का इलाज करने का कारण बनता है, और "#;" जैसे पात्रों का उस संदर्भ में कोई विशेष अर्थ नहीं है।

यह दोहरे उद्धरण चिह्नों के भीतर एक दोहरे उद्धरण से बचने के लिए 'और' का उपयोग दिखाता है, और स्वयं एक बैकस्लैश:

mat@sen:~$ echo "a&bc\\#de\"f"
a&bc\#de"f

एकल उद्धरण के साथ कुछ भी नहीं बदलता है:

mat@sen:~$ echo 'a&bc\\#de\"f'
a&bc\\#de\"f

उद्धरण के बिना 'और' इसे दो आदेशों में विभाजित करता है:

mat@sen:~$ echo a&bc\\#de\"f
[1] 2619
a
bc\#de"f: command not found
[1]+  Done                    echo a
[1]+  Done                    echo a

आमतौर पर एक प्रकार की बोली से निपटने पर आप इसे दूसरे प्रकार में लपेट सकते हैं, लेकिन आप इसके साथ समस्याओं में भाग सकते हैं:

mat@sen:~$ echo "'a'bc$foo"
'a'bc

एकल उद्धरण प्रतिस्थापित नहीं किए गए हैं, लेकिन '$' है। निम्नलिखित सिंटैक्स हालांकि काम करता है:

mat@sen:~$ echo $'a\'bc$foo'
a'bc$foo
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.