
Estou usando o gnome-terminal
with bash, e quando tenho um comando que deveria ultrapassar a linha, ele simplesmente permanece na mesma linha. Então, em vez de:
echo "abcdefghijklmnopqrstuvwxyz"
eu pegaria
opqrstuvwxyz""abcdefghijklmn
Ou algo semelhante a isso. No entanto, se eu pressionar Enter, o comando ainda funcionará. Acredito que tenha algo a ver com minha variável PS1, mas não sei o que há de errado com ela. Aqui está:
export PS1='\e[1;35m[\u:\w]\$\e[0;35m '
Responder1
Isso parece um pouco relacionado:
O agrupamento da
tput
saída\[ \]
é recomendado pela página de manual do Bash. Isso ajuda o Bash a ignorar caracteres não imprimíveis para calcular corretamente o tamanho do prompt.
"A tput
saída" no seu caso é assim: \e[1;35m
, \e[0;35m
(há dois fragmentos separados para agrupar). Eles poderiam ser escritos como \033[1;35m
e \033[0;35m
também. Em geral, você precisa agrupar qualquer sequência não imprimível.
Eu modifiquei o seu PS1
:
export PS1='\[\e[1;35m\][\u:\w]\$\[\e[0;35m\] '
e parece funcionar para mim sem o problema.