Apakah ada cara agar bash tahu persis apa yang harus ditampilkan ketika Anda tab ganda? Misalnya saya memiliki skrip python scpy
yang membutuhkan beberapa argumen. Misalnya seperti apt-get
, jika Anda memberi tab ganda kepada Anda
autoclean build-dep clean dselect-upgrade purge source upgrade autoremove check dist-upgrade install remove update
Apakah ada cara untuk melakukannya untuk skrip/program Anda sendiri? Apakah saya perlu membungkus skrip python saya dalam skrip bash?
Jawaban yang Diterima:
Cara termudah untuk melakukannya adalah dengan memasukkan skrip shell di /etc/bash_completion.d/
. Struktur dasar file ini adalah fungsi sederhana yang melakukan penyelesaian dan kemudian pemanggilan complete
yang merupakan bash bawaan. Daripada membahas detail tentang cara menggunakan complete
, saya sarankan Anda membaca Pengantar Penyelesaian Bash. Bagian 1 membahas dasar-dasar dan Bagian 2 membahas cara Anda menulis skrip penyelesaian.
Deskripsi penyelesaian bash yang lebih padat dapat ditemukan di bagian “Penyelesaian Programmable” dari man bash
(Anda dapat mengetik “/Programmable Completion” lalu tekan ‘n’ beberapa kali untuk sampai ke sana dengan cepat. Atau, jika Anda beruntung, “g 2140 RETURN”).