জেমস সঠিক, তবে আরও কিছু তথ্য যুক্ত করার জন্য, আমি মনে করি যে এটি সম্পর্কে চিন্তা করার সর্বোত্তম উপায় হ'ল আদেশের যুক্তি হিসাবে: আপনি কি "হ্যালো" এবং "ওয়ার্ল্ড" কে দুটি যুক্তি বা "হ্যালো ওয়ার্ল্ড" হতে চান? যুক্তি.
এছাড়াও, ডাবলকোটগুলি কেবলমাত্র ভেরিয়েবলের চেয়ে বেশি ব্যাখ্যার অনুমতি দেয়। আপনার শেলের উপর নির্ভর করে ঠিক কী, তবে ইতিহাসের সম্প্রসারণ, ব্রেস প্রসারণ এবং ফাইলের নাম প্রসারণ পরীক্ষা করে দেখুন।
এটি লক্ষণীয়ও গুরুত্বপূর্ণ যে এমন কয়েকটি দৃষ্টান্ত রয়েছে যেখানে আপনাকে একটি যুক্তিতে উভয় প্রকারের উদ্ধৃতি ব্যবহার করতে হবে। মনে রাখবেন (ডিফল্টরূপে) আর্গুমেন্টগুলি হোয়াইট স্পেস দ্বারা সীমিত করা হয়, তাই আপনি যদি কোনও স্থান ছেড়ে না যান তবে আপনি এখনও একই যুক্তিটি নির্দিষ্ট করছেন।
বেশিরভাগ শেলের সিঙ্গলকোট মেকানিজম কোনও বিশেষ অক্ষরের জন্য মঞ্জুরি দেয় না, যার অর্থ অন্য কোনও সিঙ্গেলকোটের কোনও উদাহরণ, এমনকি যদি এটি পালিয়ে যায় বলে মনে হয়, উদ্ধৃতিটি শেষ করে। একক এককৃত স্ট্রিংয়ের অভ্যন্তরে এককোটের সাথে একটি স্ট্রিং পাস করা অসম্ভব এবং আপনাকে ডাবলকোটগুলি ব্যবহার করতে হবে। এটি এমন ব্যথা হতে পারে যখন আপনি একটি যুক্তিটি পাস করতে চান যার মধ্যে সিঙ্গলকোটস এবং এমন কিছু রয়েছে যার অর্থ ব্যাখ্যা করা যেতে পারে তবে আপনি হতে চান না। উদাহরণস্বরূপ, আপনি যদি আক্ষরিক স্ট্রিং "` '$ VAR' একটি পরিবর্তনশীল "পাস করতে চান তবে আপনাকে এটি এইভাবে করতে হবে:
"'"'$VAR'"' is a variable"
এটি আসলে তিনটি উদ্ধৃতি-পলায়নের স্ট্রিংয়ের সংক্ষেপণ:
"'"
'$VAR'
"' is a variable"
বা, উদ্ধৃতিগুলি সরানো সহ:
'
$VAR
' is a variable
আসলে, বেশিরভাগ শাঁস সহ, আপনি এটিও এইভাবে করতে পারেন:
"'\$VAR' is a variable"
যেখানে ব্যাকস্ল্যাশ (" \
") শেলটিকে নিম্নলিখিত অক্ষরটি আক্ষরিকভাবে গ্রহণ করতে বলে এবং এতে কোনও প্রসারণ না করে।
তবে কিছু উদাহরণ রয়েছে যেখানে আপনি এটি মাল্টি-স্ট্রিং-কনটেনটেশন উপায়ে করতে শেষ করেছেন, তা নয় যে আমি এখনই একটি উদাহরণ নিয়ে আসতে পারি।