Después de editar mi .bashrc, tengo fantasmas en mi prompt

Agregué lo siguiente a mi ~/.bashrc :

 export PS1="\e[0;35m[\u@\h \W]\$ \e[m " echo -e "\e[0;35mYOU ARE ON THE LIVE SERVER !!\e[0m" 

tristemente, ahora, cada vez que pego algo largo en bash, se vuelven escuálidos y aparecen caracteres de tab fantasmas por toda la pantalla, y las líneas se comen entre ellas, ¿alguien sabe por qué?

También tuve en el pasado el problema de códigos de color ANSI jugando con la navigation de línea de command; debe colocar los códigos ANSI en torno a \[ \] para que el shell de commands sepa cómo (no) tenerlos en count como parte de la cadena de input.

Como en:

 export PS1="\[\e[0;35m\][\u@\h \W]\$\[\e[m\] " echo -e "\[\e[0;35m\]YOU ARE ON THE LIVE SERVER !!\[\e[0m\]" 

Alguna explicación de por qué el shell necesita \[ y \] : para dibujar el post en las posiciones correctas en la matriz de caracteres de un terminal el shell necesita saber la longitud correcta de la cadena de request que es la cantidad de caracteres imprimibles , es decir no controla los personajes o las secuencias de caracteres.

Sin embargo, el shell no sabe qué secuencias de caracteres el terminal considera imprimibles. Por lo tanto, es necesario proporcionar pistas al intérprete de commands para distinguir entre secuencias imprimibles y no imprimibles, que es el propósito de \[ y \] .

Lo arreglé un poco. Utilicé este website http://bashrcgenerator.com/ y lo hice con la mano larga, es MUCHO más largo, pero si haces doble clic en los elementos, puedes colorearlos y funciona.

Terminé con

  export PS1="\[\033[38;5;129m\][\u@\h\[$(tput sgr0)\]\[\033[38;5;15m\] \[$(tput sgr0)\]\[\033[38;5;129m\]~]\\$\[$(tput sgr0)\]\[\033[38;5;15m\] \[$(tput sgr0)\]"