मैं कुछ इस तरह करना चाहता हूं:
$ NAME=John
$ cat << '==end' > test
My name is $NAME
==end
$ cat test
My name is John
कोई विचार?
मैं कुछ इस तरह करना चाहता हूं:
$ NAME=John
$ cat << '==end' > test
My name is $NAME
==end
$ cat test
My name is John
कोई विचार?
जवाबों:
cat <<EOF > test
My name is $NAME
EOF
या और भी
cat <<==end > test
My name is $NAME
==end
मेरे लिए काम किया।
ऐसा लगता है कि जब आप वैरिएबल ==endमें ले जाते हैं तो 'विकल्प नहीं होता है।
आह, यह यहाँ आदमी पृष्ठ में है (3.6.6 देखो):
यहाँ दस्तावेजों का प्रारूप है:
<<[-]word here-document delimiterकोई पैरामीटर विस्तार, कमांड प्रतिस्थापन, अंकगणितीय विस्तार या pathname विस्तार शब्द पर नहीं किया जाता है । यदि शब्द के किसी भी अक्षर को उद्धृत किया जाता है, तो सीमांकक शब्द पर उद्धरण को हटाने का परिणाम है, और यहां दस्तावेज़ में लाइनों का विस्तार नहीं किया गया है। यदि शब्द अयोग्य है, तो यहां दस्तावेज़ की सभी पंक्तियों को पैरामीटर विस्तार, कमांड प्रतिस्थापन और अंकगणितीय विस्तार के अधीन किया गया है। [...]
cat << "==end" > test) का भी उपयोग कर सकते हैं , लेकिन कठिन उद्धरण वास्तव में प्रतिस्थापन को रोकते हैं।