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/inputrc
veya~/.inputrc
veya belirtilen bir dosyaINPUTRC
gidebilecekleri tek yerler. Bunu Bash komut istemine girmek işe yaramaz.