Estou tentando usar o preenchimento de guias para comandos no Ubuntu 11.04 Beta 1, executando todas as atualizações mais recentes, mas parece não funcionar. (Embora a conclusão do bash do pacote esteja instalada)
A conclusão da guia funciona corretamente apenas para diretórios ou arquivos.
Alguma idéia de onde cavar?
bash
auto-completion
Screatch
fonte
fonte
Respostas:
Verifique se você tem o seguinte fragmento no seu .bashrc (deve estar lá por padrão)
fonte
bash-completion
é necessário para que isso funcione. Estranhamente, a instalação padrão da minha empresa não possui este pacote.Pensei em adicionar também a seguinte explicação adicional para uma falha na conclusão do bash - é muito longo para um comentário e pode ser útil para alguém que tenha um problema com o término do bash, pois provavelmente essa é a pergunta canônica 'geral' à qual todas as duplicatas são referidas.
Mesmo se você tiver a linha apropriada no seu
.bashrc
(como na resposta acima) e obash-completion
pacote instalado, a conclusão do bash ainda poderá funcionar mal se você tiver umshopt -s nullglob
oushopt -s failglob
no seu.bashrc
ou.bash_aliases
.Os cenários a seguir foram testados com todas as personalizações do usuário
.bashrc
e.bash_aliases
removidos para fornecer um teste justo, com a linha de conclusão do bash apropriada no.bashrc
presente e com abash-completion
instalada.1) O primeiro cenário é quando você tem
shopt -s failglob
no seu.bashrc
ou.bash_aliases
.Ao tentar tabular diretórios e arquivos completos, respectivamente, esses erros ocorrerão:
No entanto, os comandos ainda serão concluídos com êxito.
2) Com
shopt -s nullglob
ativado, tentar tabular um diretório ou um arquivo levará a que tudo seja listado, sem conclusão:Abreviei a lista aqui, pois era muito longa e não era necessário reproduzir tudo.
Novamente, a conclusão do comando ainda funcionará.
Portanto, basta remover
shopt -s failglob
oushopt -s nullglob
também resolver o problema de erros com a conclusão do bash, supondo que você tenha a linha apropriada no seu.bashrc
ebash-completion
instalada.fonte
Além de modificar o
/etc/bash.bashrc
arquivo (veja outras respostas), pode ser necessário instalar obash-completion
pacote.Verifique se o
/etc/bash_completion
arquivo existe. Se não:(Na minha instalação do Debian 7, ele não foi instalado inicialmente)
fonte
Por mais básico que possa parecer, verifique se o bash é seu shell ativo
Acabei de atualizar para o Ubuntu 14.04.1 LTS e não tinha preenchimento automático de guia, mesmo depois de seguir os conselhos deste post, apenas para perceber que meu shell estava definido
/bin/sh
como não/bin/bash
.fonte
Atualizando para o Ubuntu 14.04.01
Verifique se você tem o seguinte fragmento no seu .bashrc (deve estar lá por padrão)
sudo vim /etc/bash.bashrc (digite "i" para editar o arquivo)
Remova o comentário 7 linhas acima
Salvar arquivo "esc + w + q + enter"
Reiniciar o bash
festança exec
fonte