Bash sekmesini tamamlama vakasını duyarsız hale getirmenin bir yolu var mı?
$ bash --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)
Copyright (C) 2007 Free Software Foundation, Inc.
Mac OS X 10.6 kullanıyorum
Bash sekmesini tamamlama vakasını duyarsız hale getirmenin bir yolu var mı?
$ bash --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)
Copyright (C) 2007 Free Software Foundation, Inc.
Mac OS X 10.6 kullanıyorum
Yanıtlar:
İçindeki metni güncelle /etc/inputrc içermek
set completion-ignore-case on
Sonra kullan ^X ^R yapılandırmayı yeniden yüklemek için
^X ^R yeniden yüklemek inputrc
bind "set completion-ignore-case on" komut satırından; inanıyorum ki, sadece bu terminal oturumu
Kullanmanın artılarını ve eksilerini karşılaştırmak için hindsight'ın yararıyla yeniden yapılandırıldı [.]inputrc vs. .bash_profile.
Şapkanın ucu underscore_d onun yardımı için.
Not: Bash'deki komut satırı düzenlemesi, Readline kütüphanesi tarafından sağlanır; kişiselleştirmek önemsiz, ama iyi öğrenmeye değer; özellikleri, önceden tanımlanmış metin parçacıklarını eklemek için özel klavye kısayolları tanımlamayı içerir - bkz. Komut Satırı Düzenleme Bash Referans Kılavuzunda
için kalıcı Bash'te sekme tamamlama özelliğine duyarsız hale getirme:
Seçenek A: Zaten varsa:
/etc/inputrc dosya (sistem genelinde geçerlidir, değişiklik yapılması gerekir) sudo ) ve / veya a ~/.inputrc dosya (kullanıcıya özel)
ve / veya
readline kütüphanesini kapsamlı şekilde kişiselleştirmeyi planlıyorsanız ve / veya kişiselleştirmeleri etkili hale getirmek istiyorsanız senaryo onlar da aradığında read -e:
Satır ekle
set completion-ignore-case on
için ya ayarının etkili olup olmamasına bağlı olarak herşey kullanıcılar veya şimdiki kullanıcı (gerekirse dosyayı oluşturun).
Dosya ve dizin adlarının tamamlanmasını kolaylaştıran ilgili komut şudur:
set show-all-if-ambiguous on
Bu, Tab tuşuna basılmasını gereksiz kılar iki defa Birden fazla eşleşme olduğunda.
Seçenek B: Alternatif olarak, kullanıcıya özgü Readline komutları ekleyebilirsiniz. ~/.bash_profile OS X'deki dosya (veya ~/.bashrc Linux'ta), onları bir tek argümanı bind builtin :
bind "set completion-ignore-case on"
bind "set show-all-if-ambiguous on"
Bunu not et bind komutları ~/.bash_profile / ~/.bashrc her ikisinde de eşdeğer komutlardan öncelikli olmak /etc/inputrc veya ~/.inputrc.
Yukarıda belirtildiği gibi, bu şekilde tanımlanan Readline yapılandırması değil etkili olmak senaryo bu çağrı read -e Kullanıcı girişi okumak için Readline desteğini etkinleştirmek için.
show-all-if-ambiguous. Ancak, “alternatif olarak” dediğiniz için, bunu yapmaktan gerçekten fayda var mı? bind, ne zaman inputrc dosyalar bunu gereksiz kılıyor?
inputrc, ama mutlu bir şekilde yarattım ~/.inputrc & Sons; Bunları ve diğer gerçekten faydalı yönergeleri ekledi. Sanırım tüm okuyucuların bunu bildiğini varsayıyoruz /etc/inputrc diğer kullanıcıları etkiler (ikincisi etkilenen ayarları geçersiz kılmadıkça)? Sadece biz uyarılardan bahsederken;)
Tüm kullanıcılar için yapılandırmayı değiştirmekten ve kök izinlerinden kaçınmak için aşağıdakileri kullanın:
if [ ! -a ~/.inputrc ]; then echo '$include /etc/inputrc' > ~/.inputrc; fi
echo 'set completion-ignore-case on' >> ~/.inputrc
Sonra yeniden giriş yapın veya ~ / .inputrc dosyasını yeniden yükleyin.
/etc/inputrcveya~/.inputrcveya belirtilen bir dosyaINPUTRCgidebilecekleri tek yerler. Bunu Bash komut istemine girmek işe yaramaz.