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:
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:
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).
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.