A seqüência de controle \e]0;TITLE\a
é reconhecida por muitos emuladores de terminal; define o título da janela. Essa seqüência de controle não é reconhecida pelo console do Linux (que não tem um título de qualquer maneira): ele vê \e]0
, decide “não sei o que isso significa, então eu vou ignorá-lo”, e imprime o seguinte texto.
Você precisará definir seu prompt de maneira diferente, dependendo do terminal atual.
title_text='\u@\h: \w'
set_title=
case $TERM in
dtterm|rxvt|[Ek]term|*xterm) set_title='\[\e]0;'"$title_text"'\a\]';;
screen) set_title='\[\ek'"$title_text"'\e\\]';;
esac
PS1="$set_title$PS1"