¿Y cómo autocompleta también los alias?
Respuesta aceptada:
Dependiendo del comando:
- Alguien puede haber escrito una función para generar posibles terminaciones de argumentos, incluidas las opciones. Encontrará funciones para algunos comandos en
/etc/bash_completion.d/*
(o una ubicación diferente en algunos sistemas). Estas funciones se registran con elcomplete
integrado (p. ej.,complete -F _find find
le dice a bash que llame al_find
función cuando presiona Tab en unfind
dominio). Usan elcompgen
incorporado para decirle a bash "aquí están las posibles finalizaciones". - Para algunos comandos, bash llamará al comando con el argumento
--help
y analizar la salida. Dichos comandos se pueden registrar con elcomplete
incorporado, p.complete -F _longopt ls
._longopt
es, de hecho, una función de generación de finalización, que analiza la salida 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 en/etc/bash_completion.d/*
para ejemplos.) - Para cosas como los alias, la función de finalización los busca en las tablas internas de bash. El
complete
incorporado tiene opciones para eso, p.-A
para alias.