Como você cria um alias ou função que retém a conclusão da tabulação?

5

Eu criei um alias para salvar algumas combinações de teclas com o trabalho com o systemd:

$ alias sctl='systemctl'

No entanto, isso interrompe a conclusão da tabulação dos subcomandos. É possível aliasar um comando sem quebrar a conclusão da tabulação?

    
por labyrinth 19.08.2015 / 16:44

2 respostas

9

Primeiro, descubra qual função completa é usada para o comando systemctl :

complete | grep " systemctl$"

A saída é assim:

complete -F _functionname systemctl

Em seguida, use:

complete -F _functionname sctl

Para registrar a função para a conclusão do seu alias.

Agora, quando você digitar sctl <tab><tab> , as mesmas sugestões de quando você digita systemctl aparecerão.

    
por 19.08.2015 / 16:51
0

Depois de instalar esta ferramenta , você pode fazer assim:

  • Em ~/.bash_profile :

    alias sctl='systemctl'
    
  • Em ~/.bash_completion :

    complete -F _complete_alias sctl
    
  • Digite sctl <tab> para mostrar os comandos systemctl :

    $ sctl <Tab>
    add-requires
    add-wants
    cancel
    cat
    condreload
    ...
    
por 14.08.2018 / 02:33