আপনি যদি প্রসারিত গ্লোব্বিং সক্ষম করে zsh ব্যবহার করে থাকেন তবে আপনি অননিলার দিয়ে এটি করতে পারেন:
(../)#.git(:h) # relative path to containing directory, eg. '../../..', '.'
(../)#.git(:a) # absolute path to actual file, eg. '/home/you/src/prj1/.git'
(../)#.git(:a:h) # absolute path to containing directory, eg. '/home/you/src/prj1'
ব্যাখ্যা (থেকে উদ্ধৃত man zshexpn
):
পুনরাবৃত্ত গ্লোব্বিং
ফর্মের একটি প্যাথনাম উপাদানটি (foo/)#
প্যাটার্ন ফু-র সাথে মেলে শূন্য বা আরও বেশি ডিরেক্টরি সহ একটি পথের সাথে মেলে। সংক্ষিপ্ত হিসাবে, **/
সমান (*/)#
।
সংশোধনকারীদের
Wordচ্ছিক শব্দ নকশাকারীর পরে, আপনি নীচের এক বা একাধিক সংশোধকগুলির ক্রম যুক্ত করতে পারেন, প্রতিটি ':' এর আগে রয়েছে। এই পরিবর্তনকারীগুলি ফাইলের নাম উত্পাদন এবং পরামিতি প্রসারণের ফলাফলগুলিতে কাজ করে, যেখানে উল্লিখিত হয় না।
- একটি
- কোনও ফাইলের নামকে পরম পথে পরিণত করুন: বর্তমান ডিরেক্টরিটি প্রয়োজনে, পূর্বে সংশোধন করে এবং '..' এবং 'এর যে কোনও ব্যবহারের সমাধান করে।'
- একজন
- 'হিসেবে একটি ', কিন্তু সমাধান সিম্বলিক লিংক ব্যবহার যেখানে সম্ভব। লক্ষ করুন যে '..' এর রেজোলিউশনটি প্রতীকী লিঙ্কগুলির সমাধানের আগে ঘটে। আপনার সিস্টেমে
realpath
সিস্টেম কল (আধুনিক সিস্টেমগুলি না করে) এই কলটি সমান ।
- জ
- মাথা রেখে একটি অনুসরণীয় পথের নাম উপাদান সরান। এটি '
dirname
' এর মতো কাজ করে ।
ক্রেডিট: Faux
উপর #zsh
ব্যবহারের প্রাথমিক পরামর্শের জন্য (../)#.git(:h)
।