My prompt is such:

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

So as output after I ls i see this:

jake@myserver
~/public_html$
~/public_html$

When I should only (I think) see:

jake@myserver
~/public_html$

The color commands work (beautifully) but this duplicate line thing is driving me nuts. I adapted this command prompt from the one that comes with MySysGit for windows.

Why is this happening?

If I just hit enter at the prompt, it prints correctly, without the duplicate second line. The duplication only happens after ls, cd or maybe some other bash commands.

link|improve this question
Looks like you're missing a \] before the \w but I don't think that's related to the problem you're asking about... – David Zaslavsky Jul 24 '10 at 1:04
feedback

migrated from stackoverflow.com Jul 24 '10 at 1:02

This question came from our site for professional and enthusiast programmers.

1 Answer

up vote 2 down vote accepted

I don't see the doubling, but you're missing two escaped brackets:

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

You might also see if PROMPT_COMMAND has a value. It may be producing some output. This will tell you what it's set to:

echo $PROMPT_COMMAND

Without knowing what it contains, I can't tell you what to do about it if it is part of the problem. However, you can clear it like this:

PROMPT_COMMAND=

That's nothing after the equal sign.

link|improve this answer
After setting my prompt to what you gave me in the first sample the doubling goes away. Weird, and thanks! – Jake Jul 24 '10 at 2:07
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.