2014-06-15 9 views

उत्तर

19
echo a(echo b)c 

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

echo "a"(echo b)"c" 

अपने subcommand नई पंक्तियां हो सकता है, तो मछली 2.3 के रूप में, आप को बचाने और बहाल करने के लिए है $ आईएफएस:

set -l IFS 
echo "a"(cat ~/file.txt)"c" 
set -e IFS 

आखिरकार string इस मामले को संभालने में सक्षम होंगे।

+1

देखें यह किसी भी तरह से सभी न्यूलाइन अक्षरों को निगल देगा और यह बराबर प्रतीत नहीं होता है। न्यूनतम उदाहरण: दिया गया 'echo -e "a \ nb"> x' फिर bash 'echo" $ (cat x) "' सही चीज करता है जबकि मछली' गूंज (बिल्ली x) 'नई लाइन को एक स्थान में बदल देगा (जो उद्धरण के बिना 'echo $ (cat x)' bash के बराबर होगा)। – Debilski

+0

@ridiculous_fish क्या आप कृपया बता सकते हैं कि बैश के '$()" परिणाम का पुन: पेश कैसे करें? मछली 2.3.0 के साथ परीक्षण किया और मुझे अभी भी @ डेबिलस्की का आउटपुट मिलता है। अग्रिम में धन्यवाद। – berbt

+0

न्यूलाइन को संभालने का तरीका वर्णन करने के लिए संपादित करें। –

संबंधित मुद्दे