Et comment fonctionne-t-il également les alias auto-complets?
Et comment fonctionne-t-il également les alias auto-complets?
Réponses:
En fonction de la commande:
/etc/bash_completion.d/*(ou à un emplacement différent sur certains systèmes). Ces fonctions sont enregistrées avec les fonctions intégrées (par exemple, indique à bash d'appeler la fonction lorsque vous appuyez sur une commande). Ils utilisent la fonction intégrée pour dire à bash «voici les compléments possibles».complete complete -F _find find_findTabfindcompgen--helpet analysera le résultat. De telles commandes peuvent être enregistrées avec les fonctions completeintégrées, par exemple complete -F _longopt ls. _longoptest en fait une fonction de génération d'achèvement, qui analyse la sortie d'une commande plutôt que d'utiliser une liste fixe. (Il existe d'autres fonctions d'achèvement plus spécialisées qui analysent le résultat d'une commande pour générer des achèvements possibles; recherchez /etc/bash_completion.d/*des exemples.)completeintégré a des options pour cela, par exemple -Apour les alias.La prise en charge de l’achèvement de bash est fournie dans Debian et Ubuntu par le paquet d’achèvement de bash . Vous devez également généralement supprimer les commentaires suivants /etc/bash.bashrcet / ou rechercher .bashrcles fichiers d’achèvement de bash. Ce qui suit est de /etc/bash.bashrc:
# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
pour que cela fonctionne. J'ai l'habitude de le commenter dans les deux cas. La gestion des shells de connexion / interactifs dans Debian est un peu un fouillis.
Des commentaires similaires s’appliquent vraisemblablement à d’autres distributions, bien qu’ils permettent peut-être de rechercher les sources par défaut.