Seu bash-completion
não está realmente "corrompido" - isso é simplesmente um bug conhecido com o bash-completion 2.1 e o Bash 4.3.
Recentemente respondi uma questão relacionada no AskUbuntu e mais uma vez aqui, , mas já que estou no assunto também vou responder aqui para que as pessoas pesquisando esse problema encontrem a resposta aqui também.
Eu dei mais detalhes no AskUbuntu , mas essencialmente, para consertá-lo, 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.