Acho que minha pergunta é onde estão os arquivos de configuração para conclusão de tabulação localizados em um sistema Ubuntu?
No Ubuntu, a biblioteca de conclusão bash vive em /usr/share/bash-completion/bash_completion
.
Quando você inicia um shell, essa biblioteca pode ser obtida de várias maneiras, por exemplo,
-
~/.bashrc
- >/etc/bash_completion
- >/usr/share/bash-completion/bash_completion
-
/etc/profile
- >/etc/profile.d/bash_completion.sh
- >/usr/share/bash-completion/bash_completion
Se alguém teve esse problema específico, ou pode ver claramente o que eu não posso, como corrigir isso e / ou porque isso ocorreria? (Eu sempre quero saber o porquê.)
Recentemente respondi uma questão relacionada no AskUbuntu (e encontrou sua pergunta no processo), então procure por detalhes, mas em poucas palavras, este é um bug conhecido .
Para corrigir isso, você pode:
-
Substituir
[[ ${!2} == \$* ]] && eval $2=${!2}
com
[[ ${!2} == \$\'* ]] && eval $2=${!2}
na função
_quote_readline_by_ref
no arquivo/usr/share/bash-completion/bash_completion
(não recomendado); ou -
Confira a mais nova versão do Git da biblioteca de conclusão do bash e use isso - o bug parece para ser corrigido nesta versão.
Você não conseguirá concluir a tabulação dentro da substituição de comando, trabalhando novamente com qualquer uma dessas soluções, mas, pelo menos, você não verá mais essa mensagem de erro.
Para realmente obter a conclusão da tabulação dentro do trabalho de substituição de comandos, você terá que reverter para uma versão anterior do Bash ( onde eu ouço que estava funcionando ), ou aguarde a biblioteca realmente corrigir esse problema com o Bash 4.3.