जवाबों:
इस क्रम में बैश में:
GLOBIGNORE=.
shopt -u dotglob
जब GLOBIGNORE सेट किया जाता है, और .. स्वचालित रूप से अनदेखा कर दिया जाता है, इसलिए आपको वास्तव में उन्हें GLOBIGNORE में सेट करने की आवश्यकता नहीं है, लेकिन यदि आपके पास इसे अनदेखा करने के लिए और कुछ नहीं है तो इसे सेट करने के लिए आपके पास कुछ भी नहीं है।
हर बार जब आप GLOBIGNORE को गैर-शून्य मान पर सेट करते हैं dotglob
, तो विकल्प पर बैश हो जाता है , इसलिए आपको इसे बंद करने की आवश्यकता होगी; अन्यथा बैश *
एक डॉट के साथ शुरू होने वाली फ़ाइलों को शामिल करने के लिए विस्तार करेगा ।
.
और ..
नहीं बल्कि foo/.
और foo/..
। आप GLOBIGNORE=.:*/.:*/..
पथ नामों के साथ भी इस काम को करने के लिए उपयोग करना चाह सकते हैं ।
एक अपरिचित प्रणाली पर जहां मेरे पास सेटिंग्स को जांचने के लिए बहुत कम समय होता है (जैसे GLOBIGNORE) मैं निम्नलिखित एंटीऑक्सीडेंट का उपयोग करता हूं:
command .??*
.
और ..
पर्यावरण की परवाह किए बिना बाहर करने की गारंटी ।.a
dotglob
चालू हो जाएगा , इसलिए सेटिंगGLOBIGNORE
सही लगती है।