Terminal Ubuntu menggunakan penyelesaian otomatis peka huruf besar-kecil, seperti yang saya duga akan dilakukan untuk Linux.
Tapi saya pikir akan lebih mudah untuk menggunakan yang case-insensitive sebagai gantinya, untuk menyelamatkan Anda harus akurat saat memulai nama, dan mungkin akan bernilai positif palsu ekstra. Apakah mungkin untuk mengubah perilaku ini?
command-line
bash
auto-completion
case-insensitive
mwfearnley
sumber
sumber
Jawaban:
Untuk membuat
bash
case-insensitive untuk pengguna saat ini:Jalankan skrip shell berikut di terminal:
Mulai shell baru (buka kembali terminal).
Untuk membuat perubahan di seluruh sistem:
Untuk detailnya, lihat
man bash
. Ya itu adalah halaman yang panjang, tetapi bash adalah program yang agak rumit, dan jika Anda hanya ingin mencari halaman itu untuk "case-insensitive" untuk pergi ke bagian yang relevan. Orang biasanya mempelajari bash satu opsi pada satu waktu atau satu skrip bash pada satu waktu dan butuh waktu lama untuk menguasai semua nuansa. Minat Anda dapat bervariasi.sumber
>>
lebih aman daripada>
?$include /etc/inputrc
danset completion-ignore-case on
harus di file ~ ..inputrc Anda.Buka terminal dan ketik perintah di bawah ini:
Masukkan kata kunci. Mulai ulang terminal.
Jika dalam beberapa kasus Anda ingin menghapus case case, cukup edit / etc / inputrc file dengan menghapus
set completion-ignore-case
baris.Itu saja.
sumber
Saya tahu pertanyaan ini sudah sangat lama tetapi kecuali saya kehilangan sesuatu, saya pikir saya punya solusi super sederhana jika Anda menggunakan bash.
Atau cukup tambahkan baris menggunakan editor teks favorit Anda. Mulai ulang sesi bash Anda dan nikmati.
sumber
~/.inputrc
dibaca oleh readline, yang digunakan bash untuk menyediakan penyelesaian ini. Readline juga digunakan oleh program lain, jadi, untuk pengaturan ini secara umum,~/.inputrc
seperti yang disarankan jawaban yang diterima akan lebih baik.bind 'set completion-ignore-case on'
harus pergi di baris baru.bashrc
Anda dapat melakukan ini dengan mengatur variabel konfigurasi untuk readline GNU, yang merupakan apa yang menangani input dalam shell interaktif.
Variabel yang dibutuhkan adalah
completion-ignore-case
, dan dapat diatur langsung di sesi bash Anda dengan:Itu dapat diaktifkan untuk semua sesi bash masa depan dengan meletakkannya di file pengguna
~/.inputrc
, atau sistem/etc/inputrc
, untuk memungkinkannya untuk semua pengguna. Ini adalah file inisialisasi untuk readline.Tetapi perhatikan bahwa jika Anda membuat
~/.inputrc
, ini akan menimpa salinan sistem . (Bagi saya ini menyebabkan saya kehilangan beberapa pemetaan kunci, sepertiCtrl-Left
/Right
. Anda dapat melihat yang mana dengan meneliti/etc/inputrc
file tersebut.)Cara untuk memperbaiki masalah ini adalah dengan meletakkan baris
$include /etc/inputrc
di bagian atas~/.inputrc
, misalnya:Untuk menerapkan perubahan, restart bash atau ulang inputrc , misalnya dengan Ctrl+x, Ctrl+r.
Informasi lebih lanjut tentang readline dan inputrc dapat ditemukan di
man bash
danman 3 readline
.sumber