Bash prompt de cor e comandos longos

2

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

Eu obtenho esse comportamento com este prompt:

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

mas funciona corretamente com o mesmo prompt, as seqüências ANSI removem:

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

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

    
por Eric J. 12.04.2010 / 20:58

1 resposta

1

Deve ser alguma coisa lá porque a seguinte string da documentação de bash não exibe o mesmo comportamento:

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

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

EDIT: Tente:

PS1="[\u][\[3[1;32m\]\[3[1;40m\]demo \[3[1;33m\]\[3[1;40m\]1.5.40.b\[3[0;37m\]] \w> \[3[0m\] "
    
por 12.04.2010 / 21:19