Best bash prompt. Ever.
I have the best bash prompt ever. It took a lot of hacking and googling, but here she is:

Notice that the smiley face and text colors change depending on the exit code of the last run command (red = failed, green = happy). This is handy, for example, after a big long build that has error messages buried in it, and the last line of output just isn’t that useful.
To make your prompt awesome, put this in your .bashrc and enjoy:
Happy bashing!
January 7th, 2009 at 11:25 am
Does your version of bash handle the wrapping ok when you do this? I used to have color on my input line and finally gave up. My current prompt is this:
This gives me a little color, which makes finding previous prompts easy when scrolling up, and the return status is there in yellow if it’s not 0. But no color on the actual input line, and also the longest input line possible, and so I have minimal issues with different versions of bash and their myriad wrapping bugs.
January 7th, 2009 at 12:18 pm
Yeah, my bash does handle the wrapping. However, if yours does not, you can just put all that “export PS1″ stuff on a single line.
January 13th, 2009 at 9:10 am
For users of git I recommend a slight modification. This adds the current git branch when you’re in a git controlled directory. It’s not as elegant (multiple echo’s) but more awesome.
export PS1="\`if [ \$? = 0 ]; then echo -en '$GREEN--( $LIGHT_CYAN\u$YELLOW@$LIGHT_CYAN\h$GREEN )--( $YELLOW\w$GREEN )--( $PURPLE'; __git_ps1 "%s"; echo -n '$GREEN )--
\n--\$$DEFAULT_COLOR ';
else
echo -en '$LIGHT_RED--( $LIGHT_CYAN\u$YELLOW@$LIGHT_CYAN\h$LIGHT_RED )--( $YELLOW\w$LIGHT_RED )--( $PURPLE'; __git_ps1 "%s"; echo -n '$LIGHT_RED )-- : (\n--\$$DEFAULT_COLOR ';
fi; \`"
January 30th, 2009 at 8:18 am
I would like to prompt your bash.
April 25th, 2009 at 2:11 pm
It’s not so bad, especially the coloring by exit-code.
However, you might want to do something like: user@host:cwd (that is, put the current directory next to the host). Then you can use the whole string as an ssh/scp target/source…
Also, coloring the username differently depending on being root or not can really save you