Depois de enviar a pergunta, é melhor eu pensar nisso, e outra pesquisa no Google me deu isso, o que praticamente explica:
Minha string PS1 de fantasia era: PS1='\e[0;32m[\u\e[m@\h \W]\$ '
, mas isso incluía caracteres não imprimíveis (as partes que mudam de cor do nome de usuário). Eu precisava escapar desses caracteres não imprimíveis usando \[
. O seguinte corrigiu o problema:
PS1='[\[\e[0;32m\]\u\[\e[m\]@\h \W]\$ '
Isso resulta em resultados assim:
[username@hostname cwd]$
Com o nome de usuário colorido em verde.
Eu tinha editado minhas linhas do PS1 para que os usuários normais tivessem seu nome de usuário em vermelho, mas se eu tivesse que fazer o root, o root estaria em vermelho ( \e[0;31m
caso você estivesse interessado). Eu acho que desde que eu fiz isso eu não digitei nenhum comando longo ...