Os caracteres \e[0;
na linha
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
são interpretados pelo shell (equacionando \e
a 3
o caractere ASCII ESC escape ), iniciando uma seqüência de escape. A seqüência termina em \a
(da mesma forma interpretada pelo shell \ 007 'sino ASCII BEL ).
O 0
é um parâmetro (para o que é conhecido como um comando do sistema operacional ), que informa ao terminal para alterar os títulos dos ícones e das janelas.
Tecnicamente, deve ser \e\
(ECMA-48), mas não foi assim que começou. Quando o recurso foi introduzido pela primeira vez em 1986, xterm
terminou o título no primeiro caractere não imprimível.
O \a
foi reconhecido como um terminador de cadeia pelo xterm desde X11R4 em 1989 (quando parâmetros separados 1
e 2
foram adicionados para distinguir os títulos dos ícones e das janelas).
rxvt
pegou isso alguns anos depois, e alguns anos depois o xterm foi modificado para também aceitar um terminador de cadeia padrão. Nenhum ponto específico foi feito no changelog, mas apareceu em ctlseqs.ms
primeiro em agosto de 1996. Geralmente, quando outros terminais implementaram o recurso, eles aceitam apenas \a
.
Sem o final, o caractere de escape isolado pode ser tratado como um erro de uma maneira específica do terminal (incluindo ignorar completamente o texto).
Leitura adicional: