Ajuste de línea extraño en el terminal con un indicador de color

5

Tengo razones para pensar que tengo un escape incorrecto en mi indicador de bash (en la Terminal tengo un ajuste de línea aleatorio extraño).

¿Alguien puede señalarlo? Me parece bien ...

export PS1="3[0;35m\u3[00m on 3[0;36m\h3[00m in 3[0;33m\w3[00m \$ "
    
pregunta boozedog 09.04.2013 - 22:32

1 respuesta

7

Encierre sus colores entre corchetes [] para que cuenten como caracteres no imprimibles .

export PS1="\[3[0;35m\]\u\[3[00m\] on \[3[0;36m\]\h\[3[00m\] in \[3[0;33m\]\w\[3[00m\] \$ "

Desafortunadamente, esto da como resultado problemas conocidos de ajuste de línea que están plagados de bash.

Hay buenas noticias para todos, la luz al final del túnel es tput .

echo $(tput setaf 6) This is cyan

Establezca todas sus variables primero, luego úselas dentro del script.

mg=$(tput setaf 5);cy=$(tput setaf 6);yl=$(tput setaf 3);rs=$(tput sgr0); echo $mg $USER $cy $HOSTNAME $yl $PWD $rs

Puede encontrar un script de ejemplo en mi github dotfiles repo

    
respondido por el jnovack 09.04.2013 - 23:00

Lea otras preguntas en las etiquetas