C'è un modo per far sapere a bash esattamente cosa visualizzare quando si esegue la doppia scheda? Ad esempio ho uno script python scpy
che richiede un paio di argomenti. Ad esempio come apt-get
, se la doppia scheda ti dà
autoclean build-dep clean dselect-upgrade purge source upgrade autoremove check dist-upgrade install remove update
C'è un modo per farlo per i tuoi script/programmi? Devo racchiudere il mio script Python in uno script bash?
Risposta accettata:
Il modo più semplice per farlo è includere uno script di shell in /etc/bash_completion.d/
. La struttura di base di questo file è una semplice funzione che esegue il completamento e quindi l'invocazione di complete
che è un bash integrato. Piuttosto che entrare nei dettagli su come usare complete
, ti suggerisco di leggere An Introduction to Bash Completion. La Parte 1 copre le nozioni di base e la Parte 2 spiega come scriveresti uno script di completamento.
Una descrizione più dettagliata del completamento di bash può essere trovata nella sezione "Completamento programmabile" di man bash
(puoi digitare "/Completamento programmabile" e quindi premere 'n' alcune volte per arrivarci rapidamente. Oppure, se sei fortunato, "g 2140 RETURN").