É muito mais simples do que você está fazendo. Quando você executa o comando ext-color 172 \u
(como parte da configuração do PS1 ou por conta própria), o shell analisa \u
, removendo o que acha que é um \
irrelevante, antes de passá-lo para ext-color
as $2
. A solução é simples: coloque-o entre aspas antes de passá-lo para ext-color
:
PS1="$(ext-color 172 '\u') in $(ext-color 172 '\w')"
(Observe que eu também substituí os backquotes por $( )
, usei \w
em vez de $(PWD)
e citei '\w'
pelo mesmo motivo que '\u'
.)