উত্তর:
এটি ব্যাকটিক্স to very এর সাথে খুব মিল `
একে কমান্ড সাবস্টিটিউশন ( পিক্সিক স্পেসিফিকেশন ) বলা হয় এবং এটি একটি সাব-শেল আহ্বান করে। $()
ব্যাকটিক্স (``) এর ব্রেসেসের মধ্যে বা এর মধ্যবর্তী কমান্ডটি একটি সাবশেলে চালিত হয় এবং আউটপুটটি মূল কমান্ডে স্থাপন করা হয়।
ব্যাকটিক্স থেকে পৃথক, $(...)
ফর্ম নেস্ট করা যেতে পারে। সুতরাং আপনি অন্য বিকল্পের ভিতরে কমান্ড প্রতিস্থাপন ব্যবহার করতে পারেন।
প্রতিস্থাপনের মধ্যে চরিত্রগুলি পালনের ক্ষেত্রেও পার্থক্য রয়েছে। আমি $(...)
ফর্ম পছন্দ ।
echo `echo \`echo foo\`` bar
POSIX বা ইন POSIX মত শাঁস ( ksh
, bash
, ash
, zsh
, yash
...), এটা ভালো হয় ``
কমান্ড ভিতরে: $()
মৃত্যুদন্ড কার্যকর এবং তার মান আউটপুট দ্বারা প্রতিস্থাপিত হয়। ওয়ার্ড-বিভক্তকরণ এবং ফাইলের নাম তৈরি করা $()
ডাবল-কোটের ভিতরে না থাকলে সম্পন্ন হয়। এইভাবে
chmod 777 $(pwd)
এর সাথে প্রতিস্থাপন করা উচিত:
chmod 777 "$(pwd)"
বর্তমান ওয়ার্কিং ডিরেক্টরি পাথে শব্দ বিভাজন এবং ফাইলের নাম উত্পাদন এড়াতে।
বা আরও ভাল (কিছু শেলের নীচে বাদে, zsh এর মতো ডিরেক্টরিটির নতুন নামকরণ করা হয়েছে):
chmod 777 "$PWD"
যেহেতু $PWD
একটি বিশেষ পরিবর্তনশীল যা পসিক্স শেলগুলিতে বর্তমান ওয়ার্কিং ডিরেক্টরিের পথ ধরে।
বা আরও ভাল:
chmod 777 .
যেহেতু .
বর্তমান ডিরেক্টরিতে এন্ট্রি হ'ল সেই ডিরেক্টরিতে একটি হার্ড লিঙ্ক।
এটি $()
বেশিরভাগ অন্যান্য কমান্ডের ভিতরে একটি কমান্ড কার্যকর করার জন্য ব্যবহৃত হয়।
chmod 777 $(pwd)
pwd
কমান্ডটি বর্তমান কার্যক্ষম ডিরেক্টরি দেয়। সুতরাং, যখন পিডাব্লুডির পুরো জিনিসটি কার্যকর করা হয় তার অবস্থানটি প্রতিস্থাপন করে এবং তার পক্ষে যুক্তি হিসাবে পরিবেশন করবে chmod
এবং ফলাফলটি হ'ল আপনার বর্তমানের সমস্ত কার্যক্ষম ডিরেক্টরিটি এমন অনুমতি 777
পেয়েছে যা আমার ধারণা অনুমান করে যে উত্পাদন পরিবেশে কখনও ব্যবহার করা উচিত নয়;)।