El siguiente script bash activará el autocompletado para el comando tsclient, de forma que, la primera pulsación del tabulador mostrará directamente la opción -x y la segunda listará las conexiones que tenemos disponibles dentro de ~/.tsclient.
_bash_completion_tsclient() { local cur prev opts COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" opts="-x" case "${prev}" in -*) local conexiones=$(ls ~/.tsclient/*.rdp) COMPREPLY=($(compgen -W "${conexiones}" -- ${cur})) return 0; ;; *) ;; esac COMPREPLY=($(compgen -W "${opts}" -- ${cur})) return 0 } complete -F _bash_completion_tsclient tsclient
Para que los cambios sean permanentes, crearemos el fichero /etc/bash_completion.d/tsclient y reinicaremos nuestro shell.
Para probarlo inmediatamente en la sesión activa basta con ejecutar:
$. /etc/bash_completion.d/tsclient
En caso de problemas, lo primero que hay que comprobar es que el siguiente código está habilitado en ~/.bashrc o en /etc/bash.bashrc:
# enable bash completion in interactive shells if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi
Para ver la lista de reglas que tenemos habilitadas en nuestra sesión ejecutaremos el comando complete -p
No hay comentarios:
Publicar un comentario