Tutabilir miyim. ve .. dışında * genişleme?


10

Yazarken sık sık sinir bozucu (veya daha kötü) buluyorum

command .*

bash ve komut üst dizine ve geçerli dizine uygulanır. Bash'i dışlamak .ve ..genişletmek için ayarlayabileceğim bazı kabuk seçeneği veya başka bir yapılandırma var .*mı?

Yanıtlar:


13

Bash'da, bu sırayla:

GLOBIGNORE=.
shopt -u dotglob

GLOBIGNORE ayarlandığında,. ve .. otomatik olarak yok sayılır, bu yüzden onları GLOBIGNORE'da ayarlamanız gerekmez, ancak görmezden gelecek başka bir şeyiniz yoksa onu ayarlamak için bir şeyiniz olmaz.

GLOBIGNORE değerini null olmayan bir değere her ayarladığınızda, bash seçeneği dotglobaçar, bu nedenle daha sonra kapatmanız gerekir; aksi takdirde bash *nokta ile başlayan dosyaları içerecek şekilde genişler .


Harika, teşekkürler! Aslında açmayı tercih ederdim dotglob, bu yüzden ayar GLOBIGNOREmükemmel.
David Z

GLOBIGNORE ayarlandığında, Bash görmezden geliyor .ve ..ancak foo/.ve foo/... Bu işlemi GLOBIGNORE=.:*/.:*/..yol adlarıyla da yapmak için kullanmak isteyebilirsiniz .
user123444555621

3

Kullanımda olan ayarları (GLOBIGNORE gibi) kontrol etmek için çok az zamanım olduğu bilinmeyen bir sistemde aşağıdaki kusursuz deseni kullanıyorum:

command .??*
  • Çevreye bakmaksızın hızlı yazma .ve dışlama garantisi ...

1
Bu yaklaşımı her zaman sevdim, ancak 1 karakterli dosyalar ile .a
eşleşemediğini unutmayın
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.