
Estoy usando gnome-terminal
with bash, y cuando tengo un comando que debería pasar de la línea, simplemente permanece en la misma línea. Entonces en lugar de:
echo "abcdefghijklmnopqrstuvwxyz"
yo obtendría
opqrstuvwxyz""abcdefghijklmn
O algo parecido a eso. Sin embargo, si presiono Intro, el comando seguirá funcionando. Creo que tiene algo que ver con mi variable PS1, pero no sé qué tiene de malo. Aquí lo tienes:
export PS1='\e[1;35m[\u:\w]\$\e[0;35m '
Respuesta1
Esto parece algo relacionado:
La página de manual de Bash recomienda empaquetar la
tput
salida .\[ \]
Esto ayuda a Bash a ignorar los caracteres no imprimibles para que calcule correctamente el tamaño del mensaje.
"La tput
salida" en su caso se ve así: \e[1;35m
( \e[0;35m
hay dos fragmentos separados para envolver). Podrían escribirse \033[1;35m
también \033[0;35m
. En general, es necesario envolver cualquier secuencia no imprimible.
Modifiqué tu PS1
:
export PS1='\[\e[1;35m\][\u:\w]\$\[\e[0;35m\] '
y parece funcionar para mí sin el problema.