Caracteres não imprimíveis no prompt precisam ser cercados por \[
e \]
para que o bash possa rastrear corretamente o comprimento do prompt e acomodar as linhas que vão além da borda do terminal.
Eu configurei PS1
para o seguinte valor:
PS1="3[0;37m[3[1;33m\w3[0;37m]\n\t \[[34m\]\u3[0;37m@\[[34m\]\[[1m\]\h\[(B[m\] $"
O problema é que qualquer comando abrangendo mais de uma linha faz um loop e não gera uma nova linha. Então eu sobrescrevo a linha que eu já digitei. O que há de errado com o PS1
?
Tags command-line bash ps1