Katakanlah saya punya program hello.py dan satu argumen yang valid untuk itu adalah:
./hello.py autoawesomesauce
Apakah mungkin untuk mengetik:
./hello.py auto[tab]
pada titik mana argumen yang sebagian selesai dikirim ke halo, yang mengenalinya dan kemudian menyelesaikannya di shell untuk:
./hello.py autoawesomesauce
Saya tahu git melakukan sesuatu seperti ini, tetapi bisakah itu dilakukan untuk skrip Python + Bash?
bash
autocomplete
Gilles 'SANGAT berhenti menjadi jahat'
sumber
sumber
Jawaban:
Pada sistem Linux, biasanya Anda dapat menemukan sejumlah besar contoh script di bawah:
/etc/bash_completion.d
. Jika Anda sumber skrip ini, maka Anda akan mendapatkan perilaku autocomplete.Saya telah memasukkan contoh dari direktori itu. Ini adalah skrip penyelesaian untuk unrar.
sumber
_get_comp_words_by_ref
?Fungsi ini tidak ada hubungannya dengan Python. Ini adalah fungsi murni dari shell yang mendasari. Jadi, baca bash docs pada pelengkapan otomatis.
Google untuk "bash penyelesaian otomatis" dan Anda akan menemukan setidaknya 5 dokumen masuk akal di bawah 10 hit pertama.
sumber
Lihat posting StackOverflow terkait ini .
sumber