
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\] "