স্ক্রোল ডাউন …
ফাইলের নামের .
এবং ..
যখন সবসময় উপেক্ষা করা হয় GLOBIGNORE
সেট এবং নয় নাল।
বেশিরভাগ সময় অন্তর্ভুক্ত করা .
বা ..
ওয়াইল্ডকার্ডের ম্যাচগুলির মতো হওয়া বাঞ্ছনীয় নয় , যেহেতু তারা ডিরেক্টরিতে থাকা ফাইলগুলিকে প্রতিনিধিত্ব করে না - ডিরেক্টরি নেভিগেশনের কাজ করার জন্য তারা হ্যাক're আসলে, ডট ফাইলের উত্স হ'ল কমান্ডের প্রথম সংস্করণে একটি বাগls
। লেখক বোঝাতে চেয়েছিলেন .
এবং ..
তালিকা থেকে বাদ দিন তবে ঘটনাক্রমে শুরু হওয়া সমস্ত ফাইল বাদ দিয়েছিলেন .
। এভাবে ডট ফাইলগুলি আড়াল হয়ে যায় ls
। শেলগুলি ডট ফাইলের মতো গোপন করে মামলা অনুসরণ করে ls
। তবে এটি যেভাবে করা হয়েছিল তা আবার একটি হ্যাক ছিল: ফাইলগুলির সূচনা .
কেবলমাত্র বাদ দেওয়া হবে যদি প্যাটার্নে স্পষ্টভাবে বিন্দু মিলে না যায়। সুতরাং প্যাটার্ন .*
অন্তর্ভুক্ত .
এবং ..
।
বিদ্যমান স্ক্রিপ্টগুলির সাথে সামঞ্জস্যতা রক্ষার জন্য, আধুনিক শেলগুলি এখনও অন্তর্ভুক্ত .
এবং ..
(zsh ব্যতীত, যা এই ইস্যুতে অনেকের মতো স্যানার রয়েছে তবে পশ্চাদপটে সামঞ্জস্যপূর্ণ আচরণ নয়)। তবে, আপনি যদি সেট করেন GLOBIGNORE
, আপনি বাশ-নির্দিষ্ট বৈশিষ্ট্যটি ব্যবহার করছেন, যা দেখায় যে আপনি পশ্চাদপটে সামঞ্জস্যের প্রতি আগ্রহী নন। সুতরাং সমস্ত প্যাটার্নের মিলগুলি বাদ দিতে .
এবং প্যাটার্নের সাথে মেলে পরিবর্তনগুলি ..
।
সেটিং GLOBIGNORE=.
এমন ফাইলকে বাদ দেয় যা যেভাবে যাইহোক GLOBIGNORE
সেট করা থাকলে স্বয়ংক্রিয়ভাবে বাদ পড়ে , সুতরাং এটি shopt -s dotglob
ব্যতীত সমতুল্য .
এবং ..
তদুপরি সমস্ত প্যাটার্ন থেকে বাদ দেওয়া হয়।
GLOBIGNORE
কেবল উপেক্ষা করা উচিত.
এবং..
স্ল্যাশ-কম প্যাটার্নগুলিতে এবং গ্লোবিগনোর ফাইলের নামগুলি নয় ফাইল ফাইলগুলি ফিল্টার করে।GLOBIGNORE=.; echo .*
অন্তর্ভুক্ত করা হবে না.
কিংবা..
কিন্তুGLOBIGNORE=.; echo ./.*
(অথবাecho /bin/.*
) হবে! উপেক্ষা করার জন্য.
এবং..
সমস্ত গ্লোব থেকে, দেখে মনে হচ্ছে আপনার প্রয়োজনshopt -s extglob
এবংGLOBIGNORE='?(*/)@(.|..)'
।