Aşağı kaydırın …
Dosya adları .ve null değil ayarlandığında ..her zaman yoksayılır GLOBIGNORE.
Çoğu zaman, dizin içindeki dosyaları temsil etmedikleri için joker karakter eşleşmeleri eklemek .ve ..joker karakter eşleşmeleri olarak arzu edilmez - dizin gezinme işlemlerini yapmak için hack'lerdir. Aslında, nokta dosyalarının kökeni komutun ilk sürümünde bir hatadırls . Yazar listeden hariç tutmayı .ve ..listeden hariç tutmayı amaçlıyordu ancak ile başlayan tüm dosyaları yanlışlıkla hariç tuttu .. Böylece nokta dosyaları gizlendi ls. Kabuklar, nokta dosyaları gibi gizleyerek bunları izledi ls. Ancak bunun tekrar yapılması bir hackti: ile başlayan dosyalar .sadece nokta kalıpta açıkça eşleşmezse hariç tutulur. Böylece desen ve .*içerir ....
Mevcut komut dosyalarıyla uyumluluğu korumak için, modern kabuklar hala içerir .ve ..(zsh hariç, bu konuda diğerleri gibi daha akılcı ama geriye dönük uyumlu olmayan bir davranışa sahiptir). Ancak, ayarlarsanız GLOBIGNORE, geriye dönük uyumlulukla ilgilenmediğinizi gösteren bash'a özgü bir özellik kullanırsınız. Desen eşleştirme dışlamak değiştirir Yani .ve ..tüm desen maçlarından.
Ayar GLOBIGNORE=.Dahil Olmayanlar her neyse otomatik dışlanan bir dosya GLOBIGNOREhazır durumda eşdeğerdir, böylece shopt -s dotglobo hariç .ve ..ayrıca tüm desenleri dışında tutulur.
GLOBIGNOREsadece göz ardı.ve..eğik çizgi desenleri ayarını fark ettim ve GLOBIGNORE dosya adlarını değil dosya yollarını filtreler. neGLOBIGNORE=.; echo .*içermez , ama (veya ) içermez ! Göz ardı etmek ve ihtiyacınız gibi tüm Neználkovo gelen, görünüşe ve ....GLOBIGNORE=.; echo ./.*echo /bin/.*...shopt -s extglobGLOBIGNORE='?(*/)@(.|..)'