ইউনিক্সের পাথ নামের অংশগুলিতে, কেবলমাত্র দুটি অক্ষর ব্যবহার করা যাবে না: নাল অক্ষর, যা সি (কার্নেলের ভাষা) এবং স্ল্যাশকে স্ট্রিম বন্ধ করে দেয়, যা পাথ বিভাজক হিসাবে সংরক্ষিত। তদুপরি, পাথ উপাদান খালি স্ট্রিং হতে পারে না।
সুতরাং, একটি পথের নামে আমাদের কাছে কেবল দুটি ধরণের টোকেন রয়েছে: একটি স্ল্যাশ এবং একটি উপাদান।
মনে করুন যে কোনও নতুন টোকেন যুক্ত না করেই আমরা আপেক্ষিক এবং পরম দুটি ধরণের পাথ সমর্থন করতে চাই। তদতিরিক্ত, আমরা মূল ডিরেক্টরিটি উল্লেখ করতে সক্ষম হতে চাই, যার কোনও নাম নেই (এটির কোনও নাম নেই এমন কোনও অভিভাবক নেই)।
কীভাবে আমরা কেবল স্ল্যাশ ব্যবহার করে আপেক্ষিক পাথ, পরম পাথ এবং মূল ডিরেক্টরিটি উল্লেখ করতে পারি?
কোনও ভাষা প্রসারিত করার সর্বাধিক সুস্পষ্ট উপায় (নতুন টোকেনের ভূমিকা ব্যতীত) নতুন সিনট্যাক্স তৈরি করা: অবৈধ সিনট্যাক্সযুক্ত টোকেনগুলির সংমিশ্রণগুলিকে নতুন অর্থ প্রদান করুন।
যে পাথগুলি স্ল্যাশের সাথে শুরু হয় সেগুলি অর্থবোধ করে না, সুতরাং কেন একটি অগ্রণী স্ল্যাশকে চিহ্নিতকারী হিসাবে ব্যবহার করবেন না যা নির্দেশ করে যে "এই পথটি আপেক্ষিকের চেয়ে স্থির"।
একটি পাথ যা স্ল্যাশ ছাড়া কিছুই না করে তাও অবৈধ, সুতরাং কেন এটি "রুট ডিরেক্টরি" অর্থ অর্পণ করবেন না।
এই দুটি অর্থ এক সাথে সংযুক্ত কারণ একটি নিখুঁত পাথ মূল ডিরেক্টরিতে অনুসন্ধান শুরু করে। অন্য কথায় একটি শীর্ষস্থানীয় স্ল্যাশকে অর্থ বলে মনে করা যেতে পারে:
- রুট ডিরেক্টরিতে নেভিগেট করুন, এবং স্ল্যাশ অক্ষর গ্রাস করুন।
- যদি পথে আরও কিছু উপাদান থাকে তবে এটি এটিকে আপেক্ষিক পথ হিসাবে প্রক্রিয়া করুন, অন্যথায় আপনি কাজ শেষ করেছেন।
তারপরে, আমরা পাশাপাশি একটি চলমান স্ল্যাশ ফেলে দিতে পারি, যার অর্থ "এই পাথটি দৃ as়ভাবে জানায় যে শেষ পাথ উপাদানটি নিয়মিত ফাইল বা অন্য কোনও ধরণের অবজেক্টের পরিবর্তে কোনও ডিরেক্টরিটির নাম: সেই ট্র্যাশিং স্ল্যাশ সেই ডিরেক্টরিটিকে একইভাবে নির্দেশ করে es নেতৃস্থানীয় স্ল্যাশ যেভাবে রুট ডিরেক্টরিটিকে বোঝায়। "
এই সমস্ত উপরের সিনট্যাক্স সহ, আমাদের এখনও একটি স্বাক্ষরযুক্ত অর্থ সহ সিনট্যাক্স রয়েছে: ডাবল স্ল্যাশ, ট্রিপল স্ল্যাশ এবং আরও অনেক কিছু।
কেন অন্য একটি টোকেন পরিচয় করিয়ে দিন এবং এটি আলাদাভাবে করবেন না। এটি সম্ভবত কারণ সাধারণভাবে ডিজাইনাররা ন্যূনতম পদ্ধতি গ্রহণ করেছে। ( আপনি যখন ed
কোনও ?
ভুল করেন তখন সম্পাদক কেন কেবল একটি প্রদর্শন করে ?) স্ল্যাশ টাইপ করা সহজ, কোনও শিফ্টের প্রয়োজন নেই। মাত্র দুটি টোকেন ধরণের (উপাদান এবং স্ল্যাশ) সহ একটি পথের ভাষা মনে রাখা এবং ব্যবহার করা সহজ।
আরেকটি গুরুত্বপূর্ণ বিবেচনা হ'ল কেবল স্ট্রিং উপস্থাপনা ব্যবহার করে পাথের সহজ ম্যানিপুলেশনগুলি সম্ভব। উদাহরণস্বরূপ, আমরা একটি নতুন প্যারেন্ট ডিরেক্টরিতে পরম পাথগুলিকে "পুনরায় মূল" করতে পারি:
OLD_PATH=/old/path
NEW_HOME=/new/home
NEW_PATH="$NEW_HOME$OLD_PATH" /new/home/old/path
নেতৃস্থানীয় ডলারের চিহ্ন বা অন্য যে কোনও কিছুতে আমরা যদি নিরঙ্কুশ পথগুলি নির্দেশ করে তবে এটি কাজ করবে না:
OLD_PATH=^old/path # ^ means absolute path
NEW_HOME=^new/home
# now we need more string kung-fu than just catenation
NEW_PATH="$NEW_HOME/${OLD_PATH#^}"
ইউনিক্স-স্টাইলের পাথগুলির সাথে ডিল করার সময় এই জাতীয় কোডিংটি এখনও কিছু ক্ষেত্রে প্রয়োজন।
cd /home
সমতুল্য সেই ডিরেক্টরিতে অ্যাক্সেস সরবরাহ করে।cd /home/
/