CD kullanarak .DS_Store komut satırı otomatik tamamlama nasıl kaldırılır?


16

.DS_storeDosyaların bir amaca hizmet ettiğini anlıyorum . Bununla birlikte, cdkomutla otomatik olarak tamamlanırken bir sıkıntı var . Ben yazdığınızda cdTerminali ve basın sekmede iki kez çalışma dizindeki tüm dizinleri listeler.

.DS_storeTerminaldeki bu otomatik tamamlama dizini listesinden kaldırmanın bir yolu var mı ?


cdTerminal'e yazdığımda iki kez Sekme tuşuna basın: tüm olasılıklar (sadece dizinler değil) listelenmeden önce bir istem var.
Graham Perrin

Bu daha iyi bir davranış gibi görünüyor; CD'den sonra çift sekme yaparken dosyaların listelenmesini nasıl önleyeceğinizi biliyor musunuz?
Jeromy Anglim

cd */ardından iki sekme geçerli dizinin tüm alt dizinlerini listeler. Ama birini seçmek için geri almanız gerekiyor ...
lhf

@lhf Teşekkürler. Bu seçeneğe sahip olmak güzel. cdVarsayılan olarak yalnızca dizinleri listeleyecek kadar akıllı olsaydı daha iyi olurdu .
Jeromy Anglim

Yanıtlar:


14

export FIGNORE=DS_Store benim için çalışıyor.

GNU Bash kılavuzu programlanabilir tamamlanması hakkında geniş bilgi sağlar .

Özellikle, bash değişkenleriyle ilgili belgelerden

FIGNORE, dosya adı tamamlaması yapılırken yoksayılması gereken iki nokta üst üste işaretiyle ayrılmış bir ek listesidir. Soneki FIGNORE içindeki girişlerden biriyle eşleşen bir dosya adı, eşleşen dosya adları listesinin dışında bırakılır. Bir örnek değer '.o: ~'

İçinde mevcut son ekler olabileceğinden endişe ediyorsanız FIGNORE, şunları kullanabilirsiniz:

export FIGNORE=$FIGNORE:DS_Store

Senin hakkında emin değilim, ama benim $FIGNORE:.DS_Storeiçin Mac'te olmalıydı . "" Olmadan çalışmadı.
typeoneerror

@typeoneerror, benim için aynı. Belki geçmişte yayınlandığı gibi çalıştı. Bana bildirdiğiniz için teşekkürler.
lhf

1
MacOS Sierra 10.12.5'te, sadece benim için çalışırsa.

2

Gerçekten aradığınız şeyin Bash komutları için bağlama duyarlı sekme tamamlaması olduğunu düşünüyorum. Örneğin, .DS_Storebir dizin değil, normal bir dosyadır, bu nedenle olası bir tamamlanma olarak gösterilmemelidir cd.

Bu sorunu çözen pakete denir bash-completion. Fink'in versiyonunu ( fink install bash-completion) kullanıyorum ve MacPorts ( port install bash-completion) ve Homebrew ( brew install bash-completion) ' dan da mevcut .

Paket .bashrc veya .bash_profile dosyanızda kurulduktan ve yapılandırıldıktan sonra, normal dosyalar artık cd için tamamlanma olarak görünmez ve diğer birçok yaygın bash komutu da içeriğe duyarlı hale gelir (örn. gunzip).


1

Sadece .DS_Store'u sorurken, tüm gizli dosyaları otomatik tamamlamadan kaldırmanın genel olarak daha iyi olacağını düşünüyorum. Bu komut ile yapılabilir:

bind 'eşleme gizli dosyalarını kapat'

sizin için her seferinde çağrılmasını sağlamak için ~ / .bash_profile ekleyebilirsiniz. Bu, gizli dosyalar için otomatik tamamlamayı tamamen devre dışı bırakmaz, yine de '' yazabilirsiniz. (nokta) ve sekmesini tıklayın.


-1

Bu komutu kullanırdım:

zip -r foo.zip foo -x "*.DS_Store"

Burada bulundu: /superuser/198569/compressing-folders-on-a-mac-without-the-ds-store


Bu, .DS_Store öğesinin otomatik tamamlamadan kaldırılması sorununu nasıl çözer?
grg

Aslında öyle değil. Ama ben ".DS_STORE olmadan mac zip" ararken bu sayfaya tökezledi. Bu yüzden belki başka birine yardım edebileceğini düşündüm. Yine de muhtemelen kötü bir fikir.
ling
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.