Quando sono tab tab
_
al terminal, Bash suggerisce 206 possibilità. Ho provato a gestirne uno _git_rm
ma non è successo niente, cosa sono?
Ecco uno screenshot:
Quando sono tab tab
_
al terminal, Bash suggerisce 206 possibilità. Ho provato a gestirne uno _git_rm
ma non è successo niente, cosa sono?
Ecco uno screenshot:
Risposte:
Queste funzioni il cui nome inizia con un trattino basso fanno parte del motore di completamento programmabile. Bash segue qui la convenzione di zsh, dove somecommand
viene chiamata la funzione che genera i completamenti _somecommand
e se quella funzione richiede funzioni ausiliarie, vengono chiamate _somecommand_stuff
.
Queste funzioni di completamento in genere non fanno nulla di utile o generano un errore se le chiamate manualmente: sono destinate a essere chiamate dal motore di completamento.
Ciò segue una pratica abbastanza diffusa in vari linguaggi di programmazione per utilizzare un carattere di sottolineatura iniziale per indicare che una funzione o una variabile è in qualche modo interna a una libreria e non destinata all'utente finale (o al programmatore finale).
type _git_rm
probabilmente ti dirà che è una funzione.grep -R '_git_rm' /etc/bash_completion.d/
lo troverà probabilmente. Tali funzioni sono generalmente quelle che forniscono i vari elenchi dibash
completamento per il completamento.