Apakah ada cara untuk membuat Bash tab menyelesaikan kasus dengan tidak sensitif?
$ bash --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)
Copyright (C) 2007 Free Software Foundation, Inc.
Saya menggunakan Mac OS X 10.6
macos
command-line
bash
shell
Jeffrey Aylesworth
sumber
sumber
/etc/inputrc
atau~/.inputrc
file yang ditunjuk olehINPUTRC
adalah satu-satunya tempat yang bisa dituju. Memasukkannya di Bash prompt tidak akan berhasil.^X ^R
untuk memuat ulanginputrc
bind "set completion-ignore-case on"
dari baris perintah; karena, saya percaya, sesi terminal itu sajaDirestrukturisasi dengan manfaat dari belakang untuk kontras pro dan kontra dari menggunakan
[.]inputrc
vs.bash_profile
.Kiat topi untuk menggarisbawahi _ bantuannya.
Catatan: Pengeditan baris perintah di Bash disediakan oleh pustaka Readline; mengkustomisasi itu tidak sepele, tetapi layak dipelajari; fitur-fiturnya termasuk kemampuan untuk menentukan pintasan keyboard khusus untuk memasukkan potongan teks yang telah ditentukan - lihat Pengeditan Baris Perintah dalam Manual Referensi Bash
Untuk secara terus - menerus membuat penyelesaian huruf-huruf tidak sensitif di Bash:
Opsi A: Jika Anda sudah memiliki:
/etc/inputrc
file (berlaku untuk seluruh sistem, membutuhkan modifikasisudo
)dan / atau
~/.inputrc
file (khusus pengguna)dan / atau
Anda berencana untuk menyesuaikan pustaka readline secara luas dan / atau ingin menjadikan kustomisasi juga efektif untuk skrip ketika mereka memanggil
read -e
:Tambahkan baris
ke salah satu file, tergantung pada apakah Anda ingin pengaturan menjadi efektif untuk semua pengguna atau pengguna saat ini (buat file, jika perlu).
Perintah terkait yang membuat penyelesaian nama file dan direktori lebih mudah adalah:
Ini membuatnya tidak perlu untuk menekan Tab dua kali ketika ada lebih dari satu kecocokan.
Opsi B: Atau, Anda dapat menambahkan perintah Readline ke
~/.bash_profile
file khusus pengguna Anda di OS X (atau~/.bashrc
di Linux), dengan meneruskannya sebagai argumen tunggal kebind
builtin :Perhatikan bahwa
bind
perintah di~/.bash_profile
/~/.bashrc
diutamakan daripada perintah yang setara di salah satu/etc/inputrc
atau~/.inputrc
.Seperti tersirat di atas, konfigurasi Readline yang ditentukan dengan cara ini tidak akan berpengaruh pada skrip yang memanggil
read -e
untuk mengaktifkan dukungan Readline untuk membaca input pengguna.sumber
cd
perintah. Yang memecahkan pertanyaan ini dan akan menyelamatkan saya ribuan penekanan tombol juga. :)show-all-if-ambiguous
. Namun, karena Anda mengatakan "sebagai alternatif", apakah sebenarnya ada manfaatnya melakukan hal ini melaluibind
, ketikainputrc
file - file tersebut tampaknya tidak perlu?inputrc
, tapi saya dengan senang hati membuat~/.inputrc
& menambahkan ini, ditambah arahan lain yang sangat berguna. Saya kira kami menganggap semua pembaca tahu yang/etc/inputrc
memengaruhi pengguna lain (kecuali yang terakhir mengabaikan pengaturan yang terpengaruh)? Tepat saat kami menyebutkan peringatan;)Untuk menghindari perubahan konfigurasi untuk semua pengguna dan untuk menghindari izin root gunakan yang berikut:
Kemudian masuk kembali atau muat ulang ~ / .inputrc
sumber