Escrevendo um script de conclusão de tabulação para o bash

2

Eu fiz um script de shell que lê a entrada do usuário e mata um processo. Mas no bash se o usuário pressionar a tecla Tab então o bash sugere alguns nomes keyword ou file . Meu script, no entanto, não sugere nada.

Como posso ativar o preenchimento de guias para o meu script?

    
por Mastan 09.05.2015 / 15:52

1 resposta

2

A maneira mais fácil é instalar bash-completion (ou qualquer outra coisa que sua distribuição chamar), escrever um script de conclusão e colocá-lo em /etc/bash_completion.d . Um script de conclusão básico é assim:

have cancel &&
_cancel()
{
    local cur

    COMPREPLY=()
    _get_comp_words_by_ref cur

    COMPREPLY=( $( compgen -W "$( lpstat | cut -d' ' -f1 )" -- "$cur" ) )
} &&
complete -F _cancel cancel

Isso é para o comando cancel de cups . Leia sobre COMPREPLY e compgen no manual de bash e adapte-o às suas necessidades.

    
por 09.05.2015 / 16:12