¿Y cómo también autocompleta alias?
fuente
¿Y cómo también autocompleta alias?
Dependiendo del comando:
/etc/bash_completion.d/*
(o en una ubicación diferente en algunos sistemas). Estas funciones están registradas con el incorporado (por ejemplo, le dice a bash que llame a la función cuando presiona un comando). Utilizan el incorporado para decirle a bash "aquí están las posibles terminaciones".complete
complete -F _find find
_find
Tabfind
compgen
--help
y analizará la salida. Dichos comandos se pueden registrar con el complete
incorporado, por ejemplo complete -F _longopt ls
. _longopt
es, de hecho, una función de generación de finalización, que analiza el resultado de un comando en lugar de usar una lista fija. (Hay otras funciones de finalización más especializadas que analizan la salida de un comando para generar posibles finalizaciones; busque /etc/bash_completion.d/*
ejemplos).complete
incorporado tiene opciones para eso, por ejemplo, -A
para alias.Echa un vistazo al archivo
/ etc / bash_completion
y observe los archivos del directorio:
/etc/bash_completion.d
Encontrarás la respuesta.
El paquete de finalización de bash proporciona soporte para la finalización de bash en Debian y Ubuntu . Por lo general, también debe descomentar lo siguiente en /etc/bash.bashrc
y / o .bashrc
para obtener los archivos de finalización de bash. Lo siguiente es de /etc/bash.bashrc
:
# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
para que esto funcione Usualmente lo descomento en ambos. El manejo de shells interactivos / de inicio de sesión en Debian es un poco complicado.
Es probable que comentarios similares se apliquen a otras distribuciones, aunque tal vez permitan el abastecimiento de forma predeterminada.