¿Cómo conoce Bash en Ubuntu la lista específica de acciones de una herramienta?
Por ejemplo, si escribo apt-get y tab dos veces, solo veo eliminar, actualizar, actualizar ... etc., pero no las acciones para otro comando o los archivos en el directorio actual.
Estoy desarrollando una herramienta de línea de comandos en Go y me gustaría proporcionar esta función para las distribuciones que lo admiten.
bash
ubuntu
autocomplete
Amustom Rustom
fuente
fuente
Respuestas:
Lo hace utilizando las funciones de finalización de bash v4. El paquete
apt-get
proporciona el código de finalizaciónbash-completion
y se encuentra en/usr/share/bash-completion/completions/apt-get
. Las aplicaciones que tienen finalización y no son parte delbash-completion
paquete base colocan sus scripts de finalización/etc/bash_completion.d
.Las terminaciones se cargan a través del abastecimiento
/etc/bash_completion
. Exactamente dónde se hace esto variará dependiendo de las versiones de Debian o Ubuntu. Eso a su vez generará todo en/usr/share/bash-completion/completions
y/etc/bash_completion.d
.fuente