Yanıtlar:
Çözüm bash yerleşiktir compgen
. Erişilebilen tüm komutlardan ve komut takma adlarından 'svn' yazmak için $PATH
, yazın.
compgen -ac | grep svn
Belirli bir önekten (ör. İle başlayan tüm komutlar ecrypt
) aramak ister misiniz ? Normal ifadeler kullanın . .
compgen -ac | grep "^ecrypt"
Kullanmayı deneyebilirsiniz compgen
.
Örneğin:
compgen -ac | grep "svn"
belki {,.}*svn*
burada yardımcı olabilir, örneğin ls -l /usr/bin/{,.}*svn*<tab>
.
Ancak, Zsh'a bir göz atın! İşte: http://www.jukie.net/bart/blog/zsh-tab-completion , sekme tamamlama sonuçlarınızı azaltmanıza nasıl yardımcı olabileceği konusunda bazı harika örneklerdir. Buna, örneğin "foobar" kelimesi olmadan tüm sekme tamamlama sonuçlarını veya ilk etapta çift basamaklı tüm sonuçları, alt dizin sekmesini tamamlama ve çok daha fazlasını istiyorsanız, olumsuzlama da dahildir. Zsh olarak değiştirmemin nedeni, tüm açık terminaller arasında tarih paylaşımıydı.
Ben telafiyi bilmiyordum ve şunu önerirdim:
ls -d ${PATH//:/\/*svn* } 2>/dev/null
bash için.
${VAR//pattern/replace} replaces in VAR pattern with replace. // is used to replace every pattern, not just the first, which would be just /.