Como adicionar todos os binários à conclusão da aba bash para algum comando?

2

Eu instalei o programa trickle que permite estrangular a rede para comandos especificados como:

trickle -u10 -d10 <COMMAND>

Como adicionar o bash completion para todos os binários ao comando trickle ?

    
por jcubic 13.02.2014 / 13:32

2 respostas

2

Você tem e carrega o arquivo /etc/bash_complete ou um diretório equivalente? Ele define um monte de finalizações e instalações de extensão além do que está embutido no bash. Se você tiver acesso a eles, provavelmente poderá usar apenas

complete -o filenames -F _command trickle

Ele completará o primeiro argumento do trickle como um comando e tentará aplicar as regras de conclusão apropriadas para os argumentos subseqüentes. Mas isso depende da função shell _command , que é definida no arquivo acima (no meu sistema Debian, pelo menos). YMMV em outras distribuições Linux e o arquivo não parece estar presente em Darwin (OS X 10.8).

    
por 13.02.2014 / 14:20
0

Na verdade, existe uma maneira ainda mais simples de fazer isso:

complete -c trickle

que adicionará a conclusão de todos os comandos disponíveis. Se você quisesse fazer algo extravagante para as opções -u , -d etc., há algumas informações úteis aqui .

Como um aparte: a documentação man para complete é bastante compreensível, mas está enterrada na enorme% man_age bash . A versão html é muito mais fácil de acessar.

    
por 07.07.2014 / 15:02