Ao usar caracteres não imprimíveis no PS1, é necessário agrupá-los em \[
e \]
. Em seu exemplo assim:
PS1=$'\n\W\xe2\x98\x85 \['$txtpur'\]\n\n[\t]\['$txtrst'\][\u]->'
Explicação: Para agrupar comandos longos corretamente, o bash calcula o tamanho do prompt. No entanto, quando a variável PS1 contém caracteres não imprimíveis, o comprimento é calculado incorretamente. Use \[
e \]
para indicar "tudo isso tem um comprimento de 0".