Apakah perintah penyelesaian untuk `cd` hanya dapat diubah untuk menampilkan direktori dan mengabaikan file?


12

Ketika saya berada di direktori dalam bash, dan saya menekan cd Space Tab, itu menunjukkan segala sesuatu di direktori sebagai kemungkinan. ( Show all 1000 possibilities?) Ini benar-benar rumit ketika saya berada di direktori dengan banyak file biasa dan direktori yang relatif sedikit.

Jadi, mungkinkah membuat pilihan untuk penyelesaian otomatis cddengan hanya memasukkan direktori?

Saya tahu saya bisa mendapatkan daftar direktori di dalam direktori dengan melakukan

ls -d */

tapi saya tidak yakin bagaimana melanjutkan dari sana.

Saya menggunakan CentOS 6.6 Final .

Jawaban:


25

Cukup tambahkan

complete -d cd

di ~/.bashrcfile konfigurasi bash Anda (atau file konfigurasi lainnya).


berhasil! Terima kasih. Saya harus mengetik bashsetelah memuat ulang ~/.bashrcfile saya
chiliNUT

Itu menarik. Ini adalah perilaku default pada instalasi Debian saya, tetapi mengetik completetidak muncul -d cdatau semacamnya. Rupanya itu dilakukan dengan cara lain di sini.
Tom Zych

@ TomZych Ada skrip penyelesaian bash yang populer , sangat mungkin distro Anda menginstalnya secara default.
jimmij

2
Untuk membaca ulang ~/.bashrcketik . ~/.bashrc. Ini mungkin tidak memulai sub-shell.
ctrl-alt-delor

1
@richard One juga bisa mengetik ulang / menempelkan perintah ini di shell interaktif saat ini.
jimmij

2

Ini harus terjadi secara otomatis pada instalasi khas pada banyak distro.
Jika tidak, Anda mungkin melewatkan bash-completionpaket:

  • Ubuntu: sudo apt-get install bash-completion
  • Lengkungan: sudo pacman -S bash-completion
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.