আমার সিস্টেমে (উবুন্টু 17.10) আপনার উদাহরণটি কেবল পছন্দসই হিসাবে কাজ করে, উভয়ই কমান্ড লাইন থেকে টাইপ করার সময় (এতে sh
) এবং যখন sh
স্ক্রিপ্ট হিসাবে কার্যকর করা হয় :
[bash]§ sh
$ STR="Hello\nWorld"
$ echo $STR
Hello
World
$ exit
[bash]§ echo "STR=\"Hello\nWorld\"
> echo \$STR" > test-str.sh
[bash]§ cat test-str.sh
STR="Hello\nWorld"
echo $STR
[bash]§ sh test-str.sh
Hello
World
আমি অনুমান করি এটি আপনার প্রশ্নের উত্তর: এটি কেবল কার্যকর। (আমি কী কী মুহুর্তে নিউলাইন চরিত্রের প্রতিস্থাপনটি সঠিকভাবে \n
ঘটতে পারে তার মতো বিশদ বের করার চেষ্টা করি নিsh
)।
যাইহোক, আমি লক্ষ্য করেছি যে এই একই স্ক্রিপ্টটি কার্যকর করারbash
সময় অন্যরকম আচরণ করবে এবং Hello\nWorld
পরিবর্তে মুদ্রণ করবে :
[bash]§ bash test-str.sh
Hello\nWorld
আমি bash
নিম্নলিখিত হিসাবে পছন্দসই আউটপুট পেতে পরিচালিত করেছি :
[bash]§ STR="Hello
> World"
[bash]§ echo "$STR"
চারপাশে ডাবল উদ্ধৃতি নোট করুন $STR
। bash
স্ক্রিপ্ট হিসাবে সংরক্ষণ এবং চালিত হলে এটি অভিন্ন আচরণ করে ।
নিম্নলিখিতটি পছন্দসই আউটপুট দেয়:
[bash]§ echo "Hello
> World"