Como consertar o autocomplete da guia de nome de arquivo do Linux que está anexando um espaço em vez da barra final nos diretórios?

2

Por algum motivo estranho, o preenchimento automático do meu nome de arquivo está se comportando de maneira diferente do normal. Dada a seguinte estrutura de arquivo ./foobar/file.txt , se eu quiser excluir file.txt , digite rm foob<TAB><TAB> e deixe a linha de comando preencher automaticamente o nome do arquivo para rm foobar/file.txt .

Mas agora, depois de atingir o primeiro <TAB> meu comando fica autocompletado para rm foobar (com um espaço após foobar ). É possível que eu acidentalmente o tenha alterado para esse comportamento? Como posso mudar isso de volta?

    
por Cory Klein 17.10.2012 / 21:11

2 respostas

3

Na minha experiência, isso geralmente é causado por algumas configurações mal-comportadas em um dos arquivos em /etc/bash_completion.d , que são instalados e atualizados à medida que você instala vários pacotes. Minha recomendação seria mover todos os arquivos para fora desse diretório, iniciar um novo shell e ver se o comportamento retorna ao normal. Nesse caso, você pode mover os arquivos de volta para aquele diretório, um (ou um grupo) de cada vez, para ver quais causam o problema. Depois de reduzi-lo, relate um bug em qualquer pacote instalado nesse arquivo!

    
por 17.10.2012 / 23:21
0

Use complete -p rm para ver a conclusão atual de rm , veja se a função bash realmente funciona como você queria.

Se você não precisa da conclusão de rm , por exemplo, parâmetros como -i , basta colocar uma linha como essa na configuração do bash,

complete -r rm; complete -o default rm (remova o preenchimento atual e defina o padrão)

    
por 18.10.2012 / 01:54