Nas cadeias de aspas duplas do bash, as barras invertidas são preservadas se o caractere a seguir não precisar escapar (somente "
'
$
\
deve ter escapado).
- Por exemplo,
foo="\$bar"
resultará em$bar
porque$
precisa ser ignorado. - No entanto,
foo="\%bar"
resultará em\%bar
porque%
não precisa ter escape.
Portanto, tanto PS1="\u"
como PS1="\u"
resultarão em $ PS1 com o valor \u
.
O código \u
dentro de $ PS1 é expandido para seu nome de usuário muito mais tarde - não ao atribuir a variável, mas sempre que o prompt é exibido.