ব্যবহারের ক্ষেত্রে:
আপনি প্রোগ্রামের আচরণটি পরিবর্তন করতে প্রোগ্রামের নামটি ব্যবহার করতে পারেন ।
উদাহরণস্বরূপ, আপনি প্রকৃত বাইনারিতে কিছু সিমলিংক তৈরি করতে পারেন।
একটি বিখ্যাত উদাহরণ যেখানে এই কৌশলটি ব্যবহৃত হয় তা হ'ল ব্যস্তবক্স প্রকল্প যা এটিতে কেবল একটি একক বাইনারি এবং অনেকগুলি সিমলিংক ইনস্টল করে। (এলএস, সিপি, এমভি, ইত্যাদি)। স্টোরেজ স্পেস সংরক্ষণ করার জন্য তারা এটি করছে কারণ তাদের লক্ষ্যগুলি ছোট এমবেডড ডিভাইস।
এটি ব্যবহার setarch
-লিনাক্স থেকেও ব্যবহৃত হয় :
$ ls -l /usr/bin/ | grep setarch
lrwxrwxrwx 1 root root 7 2015-11-05 02:15 i386 -> setarch
lrwxrwxrwx 1 root root 7 2015-11-05 02:15 linux32 -> setarch
lrwxrwxrwx 1 root root 7 2015-11-05 02:15 linux64 -> setarch
-rwxr-xr-x 1 root root 14680 2015-10-22 16:54 setarch
lrwxrwxrwx 1 root root 7 2015-11-05 02:15 x86_64 -> setarch
এখানে তারা এই কৌশলটি মূলত অনেকগুলি সদৃশ উত্স ফাইলগুলি এড়াতে বা উত্সগুলিকে আরও পঠনযোগ্য রাখার জন্য ব্যবহার করছেন।
আরেকটি ব্যবহারের ক্ষেত্রে একটি প্রোগ্রাম হবে যা রানটাইমের সময় কিছু মডিউল বা ডেটা লোড করা দরকার। প্রোগ্রামের পাথ থাকা আপনাকে প্রোগ্রামের অবস্থানের সাথে সম্পর্কিত কোনও পাথ থেকে মডিউলগুলি লোড করতে সক্ষম করে ।
এছাড়াও অনেক প্রোগ্রাম প্রোগ্রামের নাম সহ ত্রুটি বার্তা প্রিন্ট করে ।
কেন :
- কারণ এটি পসিক্স কনভেনশন (
man 3p execve
):
আরজিভি নতুন প্রোগ্রামে আর্গুমেন্ট স্ট্রিংগুলির একটি অ্যারে। কনভেনশন অনুসারে, এই স্ট্রিংগুলির প্রথমটিতে ফাইলটি সম্পাদন করা হওয়ার সাথে যুক্ত ফাইলের নাম থাকতে হবে।
- এটি সি স্ট্যান্ডার্ড (কমপক্ষে সি 99 এবং সি 11):
যদি আরগিসির মান শূন্যের চেয়ে বেশি হয় তবে আরজিভি [0] দ্বারা নির্দেশিত স্ট্রিং প্রোগ্রামটির নাম উপস্থাপন করে; আরজিভি [0] [0] প্রোগ্রামটির নাম হোস্ট পরিবেশ থেকে উপলব্ধ না হলে নাল অক্ষর হবে।
নোট করুন সি স্ট্যান্ডার্ডটি "প্রোগ্রামের নাম" ফাইল নাম নয় "বলেছে।