¿Cómo consigo la finalización de bash para los alias de comando?

Pregunta:

Estoy buscando completar la tabulación en los alias de mi línea de comando, por ejemplo, digamos que definí el siguiente alias:

alias apt-inst='sudo aptitude install'

¿Hay alguna forma de obtener las finalizaciones proporcionadas por aptitude cuando presiono la tecla de tabulación? es decir, cuando escribo 'sudo aptitude install gnumer' y presiono la tecla tab, aptitude completa esto en gnumeric, o si había dudas, enumera todos los paquetes disponibles que comienzan con gnumer. Si lo hago usando mi alias, nada, sin completar.

Respuesta:

Pruebe complete-alias , que resuelve este problema exactamente. ( Descargo de responsabilidad : soy el autor de complete_alias )

Después de instalarlo, puede usar una función genérica para completar muchos alias como este:

complete -F _complete_alias <myalias1>
complete -F _complete_alias <myalias2>
complete -F _complete_alias <myalias3>

Es posible que desee obtener el archivo complete_alias en cada instancia de bash a través de .bash_profile o similar.

instalación

mkdir ~/.bash_completion.d
curl https://raw.githubusercontent.com/cykerway/complete-alias/master/complete_alias \
     > ~/.bash_completion.d/complete_alias

solicitud

source ~/.bash_completion.d/complete_alias

alias container=docker\ container
complete -F _complete_alias container

container ahora puede ser autocompletado por el controlador de finalización original _docker() ;

$ container l<Tab>
logs  ls    

$ container s<Tab>
start  stats  stop   

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım