I started tweaking around with my bash prompt lately and I find myself not understanding how the escape character works. I have the following:
In this I get it,
\[ escapes the
[ character and
\xxx escapes my UTF-8 characters. But in the following line I get a weird result:
This will always print
X in my prompt, yet if I escape the first
$ it will print it only when exit status of any command is non zero. I do not understand why. Wasn't
$(commands) supposed to output the result of given
commands? If I escape it like so
\$() is the whole sequence escaped or just the dollar sign? If I don't escape why doesn't it print
$? It just prints the
X. I have the same question for the
$ inside the square brackets. Why do I have to escape it?
Also I believe this qualifies as another question but is there any way of printing the actual exit status in my prompt?