Quando um caminho é muito longo para caber no terminal e quebra, o prompt a seguir é interrompido e você não pode ver corretamente o que é digitado. Veja a captura de tela abaixo:
Este é o conteúdo .bashrc
desse conjunto de PS1
, que é o padrão fornecido pelo Ubuntu.
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
O valor de $PS1
é
echo "$PS1"
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
Há algum modo de consertar isso?
Eu vi várias outras perguntas semelhantes, e a solução proposta é incluir a parte ofensiva em \[ \]
, ou definir checkwinsize
, mas nenhuma delas funcionou no meu caso.
Se alguém quiser testar com o caminho, é o seguinte:
/home/dimitriv/Dropbox/personal/kastoria/2018-2019/προγραμματισμός στο διαδίκτυο/newslides
Uma solução rápida pode ser substituir a parte de configuração do título da janela
PS1
por umPROMPT_COMMAND
script.Dentro do
case "$TERM" in ... esac
bloco do seu.bashrc
, substitua oPS1=...
por