Comment Bash dans Ubuntu connaît-il la liste d'actions spécifique d'un outil?
Par exemple, si je tape apt-get et tab deux fois, je ne vois que supprimer, mettre à jour, mettre à niveau ... etc, mais pas les actions pour une autre commande ou les fichiers dans le répertoire en cours.
Je développe un outil de ligne de commande dans Go et je voudrais fournir cette fonctionnalité pour les distributions qui le prennent en charge.
bash
ubuntu
autocomplete
Amged Rustom
la source
la source
Réponses:
Il le fait en utilisant les fonctionnalités de complétion de bash v4. Le code d'achèvement pour
apt-get
est fourni par lebash-completion
package et se trouve à l' adresse/usr/share/bash-completion/completions/apt-get
. Les applications terminées et ne faisant pas partie dubash-completion
package de base placent leurs scripts de fin dans/etc/bash_completion.d
.Les finitions sont chargées via le sourcing
/etc/bash_completion
. L'endroit exact où cela se fera variera selon les versions de Debian ou d'Ubuntu. Cela, à son tour, fournira tout dans/usr/share/bash-completion/completions
et/etc/bash_completion.d
.la source