आप इसे असाइनमेंट में नहीं बल्कि गूंज में खो रहे हैं। आप इसे स्पष्ट रूप से देख सकते हैं यदि आप:
echo "${out}"
आपको निम्न स्क्रिप्ट के साथ एक समान प्रभाव दिखाई देगा:
x="Hello,
I
am
a
string
with
newlines"
echo "====="
echo ${x}
echo "====="
echo "${x}"
echo "====="
कौन से आउटपुट:
=====
Hello, I am a string with newlines
=====
Hello,
I
am
a
string
with
newlines
=====
और, आपके प्रश्न के लिए अप्रासंगिक है, लेकिन मैं इसे वैसे भी उल्लेख करना चाहता हूं, मैं बैकस्टिक्स के बजाय $ () निर्माण का उपयोग करना पसंद करता हूं, बस घोंसले के आदेशों में सक्षम होने के अतिरिक्त लाभ के लिए। तो आपकी स्क्रिप्ट लाइन बन जाती है:
out=$(grep apache README)
अब यह कोई भिन्न नहीं दिख सकता है (और यह नहीं है) लेकिन यह अधिक जटिल आदेशों को संभव बनाता है जैसे:
lines_with_nine=$(grep $(expr 7 + 2) inputfile)