Et comment complète-t-il également automatiquement les alias ?
Réponse acceptée :
Selon la commande :
- Quelqu'un a peut-être écrit une fonction pour générer des complétions possibles d'arguments, y compris des options. Vous trouverez des fonctions pour certaines commandes dans
/etc/bash_completion.d/*
(ou un emplacement différent sur certains systèmes). Ces fonctions sont enregistrées avec lecomplete
intégré (par exemplecomplete -F _find find
dit à bash d'appeler le_find
fonction lorsque vous appuyez sur Tab sur unefind
commande). Ils utilisent lecompgen
intégré pour indiquer à bash "voici les complétions possibles". - Pour certaines commandes, bash appellera la commande avec l'argument
--help
et analyser la sortie. De telles commandes peuvent être enregistrées avec lecomplete
intégré, par ex.complete -F _longopt ls
._longopt
est en fait une fonction de génération de complétion, qui analyse la sortie d'une commande plutôt que d'utiliser une liste fixe. (Il existe d'autres fonctions de complétion plus spécialisées qui analysent la sortie d'une commande pour générer des complétions possibles ; regardez dans/etc/bash_completion.d/*
pour des exemples.) - Pour des choses comme les alias, la fonction de complétion les recherche dans les tables internes de bash. Le
complete
intégré a des options pour cela, par ex.-A
pour les alias.