Prompt de cores Bash e comandos longos

Prompt de cores Bash e comandos longos

Estou colorindo partes do meu prompt do bash usando sequências de escape ANSI. Isso funciona muito bem, até que o comando que estou digitando no momento seja longo o suficiente para ser quebrado. Em vez do resto do comando ser exibido na próxima linha, ele volta para a coluna 1 da linha atual, substituindo o início do prompt.

Eu recebo esse comportamento com este prompt:

export PS1="[\u][\033[0;32;40mdemo \033[0;33;40m1.5.40.b\033[0;37;40m] \w> \033[0m"

mas funciona corretamente com o mesmo prompt, as sequências ANSI são removidas:

export PS1="[\u][demo 1.5.40.b] \w> "

Estou me conectando usando a versão atual do Putty, com configurações padrão do Putty. O sistema operacional é o Ubuntu 8.10.

Responder1

Deve haver algo lá porque a seguinte string dodocumentação bashnão apresenta o mesmo comportamento:

PS1="\[\033[1;34m\][\$(date +%H%M)][\u@\h:\w]$\[\033[0m\] "

Ainda não descobri o que é, mas o trabalho deles e o seu não...

EDITAR:Tentar:

PS1="[\u][\[\033[1;32m\]\[\033[1;40m\]demo \[\033[1;33m\]\[\033[1;40m\]1.5.40.b\[\033[0;37m\]] \w> \[\033[0m\] "

informação relacionada