Quand je suis tab tab
_
en terminal, Bash propose 206 possibilités. J'ai essayé d'en diriger un _git_rm
mais rien ne s'est passé, qu'est-ce que c'est?
Voici une capture d'écran:
linux
bash
terminal
linux-mint
dessiner
la source
la source
type _git_rm
vous dira probablement que c'est une fonction.grep -R '_git_rm' /etc/bash_completion.d/
le trouvera probablement. Ces fonctions sont généralement celles qui fournissent les différentes listes d'bash
achèvement à compléter.Réponses:
Ces fonctions dont le nom commence par un trait de soulignement font partie du moteur de complétion programmable. Bash suit la convention de zsh ici, où la fonction qui génère des complétions
somecommand
est appelée_somecommand
, et si cette fonction nécessite des fonctions auxiliaires, elles sont appelées_somecommand_stuff
.Ces fonctions d'achèvement ne font généralement rien d'utile ou génèrent une erreur si vous les appelez manuellement: elles sont destinées à être appelées à partir du moteur d'achèvement.
Cela fait suite à une pratique assez répandue dans divers langages de programmation d'utiliser un trait de soulignement principal pour indiquer qu'une fonction ou une variable est en quelque sorte interne à une bibliothèque et n'est pas destinée à l'utilisateur final (ou au programmeur final).
la source