bash_completion não está funcionando (para alguns comandos)

1

Eu tenho uma nova instalação do Debian Wheezy, e notei bash_completion não funciona para alguns comandos. Por exemplo, ele funciona para ping , mas não para host (ambos ping e host devem completar nomes de host de /etc/hosts ).

Além disso, notei que ao contrário da versão anterior do Debian (Squeeze), as configurações de conclusão do bash não são mais armazenadas como arquivos separados em /etc/bash_completion.d , mas sim como um arquivo em /usr/share/bash-completion/bash_completion . Parece que a infraestrutura foi alterada.

Alguém poderia, por favor, informar como fazer bash_completion funcionar para o comando host ?

    
por Martin Vegter 04.09.2013 / 16:07

1 resposta

2

Estou executando o CentOS 5.6 com a versão bash-completion 1.3. Depois de comparar o meu / etc / bash_completion com a versão 2.0 do Debian, posso ter sua solução. Eu não posso testar isso no Debian, então YMMV.

Encontre a linha comentada _known_hosts_real em / etc / bash_completion (o trecho de código abaixo é do arquivo Debian).
Adicione host à lista de comandos após o complete -F na próxima linha.
Então * source / etc / bash_completion *.
Isso funciona no meu sistema. Você pode exibir as ligações usando o comando complete -p .

} # _known_hosts_real () complete -F _known_hosts traceroute traceroute6 tracepath tracepath6 \      fping fping6 telnet rsh rlogin ftp dig mtr ssh-installkeys showmount

Encontrei as informações de ligação aqui: link .

    
por 06.09.2013 / 01:42

Tags