नीचे स्क्रॉल करें ...
फ़ाइलनाम .और ..हमेशा GLOBIGNOREसेट नहीं होने पर अनदेखा कर दिए जाते हैं ।
अधिकांश समय, यह शामिल करने के लिए वांछनीय नहीं है .और ..वाइल्डकार्ड मैचों, क्योंकि वे निर्देशिका के अंदर फ़ाइलों का प्रतिनिधित्व नहीं करते के रूप में - वे निर्देशिका नेविगेशन काम करने वाले हैं हैक्स। वास्तव में, डॉट फ़ाइलों की उत्पत्ति कमांड के शुरुआती संस्करण में एक बग हैls । लेखक का मतलब सूची से बाहर करना था .और ..गलती से शुरू होने वाली सभी फाइलों को छोड़ दिया था .। इस प्रकार से डॉट फाइलें छिपी हो गईं ls। गोले की तरह फाइलों को छिपाकर गोले सूट करते हैं ls। हालांकि जिस तरह से यह किया गया था वह फिर से हैक था: .डॉट में पैटर्न स्पष्ट रूप से मेल नहीं खाता है, तो इसके साथ शुरू होने वाली फाइलें केवल बाहर रखी गई हैं। तो पैटर्न .*शामिल हैं .और ..।
मौजूदा स्क्रिप्ट के साथ संगतता को बनाए रखने के लिए, आधुनिक गोले अभी भी शामिल हैं .और ..(zsh को छोड़कर, जो इस मुद्दे पर जैसे कई अन्य लोगों के पास एक संस्कार है, लेकिन पिछड़े संगत व्यवहार नहीं है)। हालाँकि, यदि आप सेट GLOBIGNOREकरते हैं , तो आप एक बैश-विशिष्ट सुविधा का उपयोग कर रहे हैं, जो दर्शाता है कि आप पिछड़ी संगतता में रुचि नहीं रखते हैं। इसलिए पैटर्न से मेल खाने के लिए .और ..सभी पैटर्न के मेल से परिवर्तन होता है ।
GLOBIGNORE=.किसी फ़ाइल को सेट करना किसी भी तरह GLOBIGNOREसे स्वचालित रूप से बाहर रखा जाता है जब भी सेट किया जाता है, इसलिए यह shopt -s dotglobसिवाय इसके समतुल्य है .और ..इसके बाद सभी पैटर्न से बाहर रखा गया है।
GLOBIGNOREअनदेखा करने.और..स्लेश-कम पैटर्न और GLOBIGNORE फ़िल्टर फ़ाइल पथ में फ़ाइल नाम नहीं होने का एहसास हुआ ।GLOBIGNORE=.; echo .*शामिल नहीं होगा.और न ही.., लेकिनGLOBIGNORE=.; echo ./.*(याecho /bin/.*) होगा! अनदेखी करने के लिए.और..सभी globs से, ऐसा लगता है आप की जरूरत लग रहा हैshopt -s extglobऔरGLOBIGNORE='?(*/)@(.|..)'।