Bagaimana cara TAB melengkapi opsi secara otomatis?

33

Dan bagaimana cara itu juga pelengkapan otomatis alias?

theTuxRacer
sumber

Jawaban:

22

Tergantung pada perintah:

  • Seseorang mungkin telah menulis fungsi untuk menghasilkan kemungkinan penyelesaian argumen, termasuk opsi. Anda akan menemukan fungsi untuk beberapa perintah di /etc/bash_completion.d/*(atau lokasi yang berbeda di beberapa sistem). Fungsi-fungsi ini terdaftar dengan built-in (mis. Memberitahu bash untuk memanggil fungsi ketika Anda menekan pada perintah). Mereka menggunakan built-in untuk memberi tahu bash "di sini adalah kemungkinan penyelesaian".complete complete -F _find find_findTabfindcompgen
  • Untuk beberapa perintah, bash akan memanggil perintah dengan argumen --helpdan mengurai hasilnya. Perintah tersebut dapat didaftarkan dengan completebuilt-in, mis complete -F _longopt ls. _longoptsebenarnya adalah fungsi generasi penyelesaian, yang terjadi untuk mem-parsing output perintah daripada menggunakan daftar tetap. (Ada fungsi penyelesaian lebih khusus lainnya yang mengurai output perintah untuk menghasilkan penyelesaian yang mungkin; lihat /etc/bash_completion.d/*contohnya.)
  • Untuk hal-hal seperti alias, fungsi penyelesaian mencari mereka di tabel internal bash. The completebuilt-in memiliki pilihan untuk itu, misalnya -Auntuk alias.
Gilles 'SANGAT berhenti menjadi jahat'
sumber
10

Lihatlah file tersebut

/ etc / bash_completion

dan amati file-file dari direktori:

/etc/bash_completion.d

Anda akan menemukan jawabannya.

SHW
sumber
2

Dukungan untuk penyelesaian bash disediakan di Debian dan Ubuntu oleh paket penyelesaian bash . Anda juga biasanya perlu menghapus tanda komentar pada /etc/bash.bashrcdan / atau .bashrcuntuk mencari file penyelesaian bash berikut. Berikut ini dari /etc/bash.bashrc:

# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

agar ini bekerja. Saya biasanya batalkan komentar pada keduanya. Penanganan kerang interaktif / login di Debian sedikit berantakan.

Komentar serupa mungkin berlaku untuk distribusi lain, meskipun mungkin mereka mengaktifkan sumber secara default.

Faheem Mitha
sumber