Por que meu prompt do bash está repetindo sua última linha duas vezes, quando ls, ou cd ou emite comandos misc?

4

Meu prompt é tal:

PS1="\[3[32m\]\u@myserver\n\[3[33m\w$3[0m\] "

Assim, como resultado depois de ls , vejo isto:

jake@myserver
~/public_html$
~/public_html$

Quando eu deveria apenas (eu acho) ver:

jake@myserver
~/public_html$

Os comandos de cor funcionam (lindamente), mas essa coisa de linha duplicada está me deixando louca. Eu adaptei este prompt de comando daquele que vem com o MySysGit para windows.

Por que isso está acontecendo?

Se eu pressionar digite no prompt, ele será impresso corretamente, sem a segunda linha duplicada. A duplicação só acontece após ls , cd ou talvez alguns outros comandos bash.

    
por Jake 24.07.2010 / 02:23

1 resposta

4

Eu não vejo a duplicação, mas você está perdendo dois colchetes de escape:

PS1="\[3[32m\]\u@myserver\n\[3[33m\]\w$\[3[0m\] "

Você também pode ver se PROMPT_COMMAND tem um valor. Pode estar produzindo alguma saída. Isto irá dizer-lhe o que é definido para:

echo $PROMPT_COMMAND

Sem saber o que ele contém, não posso dizer o que fazer sobre isso se for parte do problema. No entanto, você pode limpá-lo assim:

PROMPT_COMMAND=

Isso não é nada depois do sinal de igual.

    
por 24.07.2010 / 03:46

Tags