कैसे एक तीसरे में स्ट्रिंग चर समवर्ती करने के लिए?


36

मुझे बाश में दो तारों को मिलाने की जरूरत है, ताकि:

string1=hello
string2=world

mystring=string1+string2

echo mystring उत्पादन करना चाहिए

नमस्ते दुनिया


टर्मिनल कमांड joinभी आपके लिए काम कर सकता है।
लेओ लेपोल्ड हर्ट्ज़ o

जवाबों:


38

बस चर को समाप्‍त करें:

mystring="$string1$string2"

51

आपको {} का उपयोग करने की आवश्यकता नहीं है, जब तक आप बैश वैरिएबल पैरामीटर्स का उपयोग करने जा रहे हैं या किसी ऐसे चरित्र को तत्काल संलग्न नहीं करेंगे जो पहचानकर्ता के हिस्से के रूप में मान्य होगा। आपको दोहरे उद्धरण चिह्नों का उपयोग करने की आवश्यकता नहीं है जब तक कि आप मापदंडों में विशेष वर्ण शामिल नहीं करेंगे।

x=foo
y=bar
z=$x$y        # $z is now "foobar"
z="$x$y"      # $z is still "foobar"
z="$xand$y"   # does not work
z="${x}and$y" # does work, "fooandbar"
z="$x and $y" # does work, "foo and bar"

2
यह वही है जिसे मैं [z = "$ xand $ y" # काम नहीं करता है ..... z = "$ {x} और $ y" # काम करता है, "fooandbar"]। धन्यवाद।
फूलेगा

18

मामले में आपको शाब्दिक तार के साथ चर को बदलने की जरूरत है:

string1=hello
string2=world
mystring="some ${string1} arbitrary ${string2} text"

echo $mystring उत्पादन करेंगे:

कुछ हैलो दुनिया के मनमाने ढंग से पाठ


6
आप ${var}किसी भी समय अपने इच्छित प्रारूप का उपयोग कर सकते हैं , लेकिन आपको इसकी आवश्यकता तब होती है जब $varकिसी अन्य मान्य चर-नाम वाले वर्ण का तुरंत अनुसरण किया जाना चाहिए ... उदा: $vararbitary"वैरबिटरी" नामक एक चर की व्याख्या करेगा, लेकिन आप इसका उपयोग करके इसे प्राप्त कर सकते हैं ${var}arbitary.... उफ़, मैंने अभी-अभी खमेर का अभिभावक देखा है .. लेकिन मैं यहाँ टिप्पणी छोड़ सकता हूँ।
पीटर

11

यदि आप बहुत सारे चर को जोड़ना चाहते हैं, तो आप +=स्ट्रिंग को जोड़ने के लिए भी उपयोग कर सकते हैं .. इससे पठनीयता बढ़ सकती है।

mystring=${string1}
mystring+=${string2}
mystring+=${string3}
mystring+=${string4}
echo ${mystring}

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

+=मानों को सरणियों में जोड़ने के लिए भी उपयोग किया जा सकता है array+=($b):।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.