¿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-getproporciona el código de finalizaciónbash-completiony se encuentra en/usr/share/bash-completion/completions/apt-get. Las aplicaciones que tienen finalización y no son parte delbash-completionpaquete 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/completionsy/etc/bash_completion.d.fuente