¿Cómo completa automáticamente TAB las opciones de búsqueda para completar?

Respuestas:

22

Dependiendo del comando:

  • Alguien puede haber escrito una función para generar posibles compleciones de argumentos, incluidas las opciones. Encontrará funciones para algunos comandos en /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_findTabfindcompgen
  • Para algunos comandos, bash llamará al comando con el argumento --helpy analizará la salida. Dichos comandos se pueden registrar con el completeincorporado, por ejemplo complete -F _longopt ls. _longoptes, 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).
  • Para cosas como los alias, la función de finalización los busca en las tablas internas de bash. El completeincorporado tiene opciones para eso, por ejemplo, -Apara alias.
Gilles 'SO- deja de ser malvado'
fuente
10

Echa un vistazo al archivo

/ etc / bash_completion

y observe los archivos del directorio:

/etc/bash_completion.d

Encontrarás la respuesta.

SHW
fuente
2

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.bashrcy / o .bashrcpara 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.

Faheem Mitha
fuente