Você baniu completamente a idéia do shell Bourne Again do que foi impresso e o que ele tem que apagar / reescrever, pois exibe o histórico de comandos e permite editar a linha de comando.
Quebrar o seu aviso em seções:
-
\[\e]0;\u@\h: \w\a\]- caracteres não imprimíveis, incluídos corretamente -
${debian_chroot:+($debian_chroot) }- imprimindo apenas caracteres, presumivelmente -
\[3[01;36m\]- caracteres não imprimíveis, incluídos corretamente -
\u@\h- apenas caracteres de impressão -
\[3[00m\]- caracteres não imprimíveis, incluídos corretamente -
3[01;34m\]- caracteres não imprimíveis, impropriamente fechados para que o shell Bourne Again não saiba que eles são -
\w3[00m\]- uma mistura errônea de caracteres de impressão e não impressão -
[$(type __git_ps1 >/dev/null 2>&1 && __git_ps1 "(%s)")]- imprimindo apenas caracteres, presumivelmente
Eu dei este conselho antes , mas é um conselho geral que se aplica aqui também:
- Use
\eou3de forma consistente para sua própria sanidade. - Faça com que seus pares de não aninhamento coincidam com
\[e\]. - Certifique-se de que todas sequências não impressas estejam em
\[e\](e que, inversamente, todas as sequências de impressão não sejam).
(É por isso que eu pessoalmente prefiro o Z Shell e seu mecanismo alternativo de expansão de prompt para quando eu quiser prompts coloridos malucos. sabe que coisas como %F{green} não são sequências de impressão, sem para ser informado, e também funciona as seqüências de escape corretas de terminfo , sem tê-los conectados.