On Fri, Nov 10, 2017 at 9:48 PM, jdow <[log in to unmask]> wrote: > > Here is what I have in my .bash_profile file: > > if [ "$PS1" ]; then > # extra [ in front of \u unconfuses confused Linux VT parser > PS1="\e[0 [[\\u@\\h:\\l \\w]\\$ " > fi What do you mean by "VT parser"? Because whether you are on a VT or in an xterm, not having "...[[\\u..." removes the opening square bracket from PS1 (it, somehow, terminates the escape). "\e[0" should be "\e[0m". Since you're only using escaped characters, you can stop escaping the backslashes: th@localhost ~ $ PS1="\e[0 [[\u@\h:\l \w]\$ " [th@localhost:0 ~]$ cd /etc [th@localhost:0 /etc]$ If you use "\e[0m", you don't need "[[": [th@localhost:0 /etc]$ PS1="\w $ " /etc $ PS1="\e[0m[\u@\h:\l \w]\$ " [th@localhost:0 /etc]$ cd /opt [th@localhost:0 /opt]$ cd [th@localhost:0 ~]$ You're supposed to enclose non-printing characters in escaped brackets. PS1 expansion generally works without doing so but I've had problems in the past when not using them (I can't remember under what circumstances, sorry). So it should be: PS1="\[\e[0m\][\u@\h:\l \w]\$ "