São \ [e \] necessários?

2

Eu vejo essa configuração do prompt bash da internet:

PS1="\[\e[0m\]\[\e[0;92m\]\u\[\e[91m\]@\[\e[93m\]\h\[\e[0m\]:\[\e[0;94m\]\w\[3[1;30m\]\[\e[0m\]$ "

Como o documento diz:

\[ and \] are used to notice that the content inside is not printable (control characters).

Quando eu removo todos os \[ e \] do prompt acima, o PS1 se torna:

PS1="\e[0m\e[0;92m\u\e[91m@\e[93m\h\e[0m:\e[0;94m\w3[1;30m\e[0m$ "

E ainda funciona! Então, o \[ e \] são necessários? e quais são os diferentes se eu remover todos eles?

    
por Bình Nguyên 16.10.2015 / 13:20

1 resposta

2

Já tentou pesquisar seu histórico ( Ctrl + P ou )? Uma vez que a linha é mais longa, ela pode sobrescrever o prompt se não souber o tamanho correto.

    
por 16.10.2015 / 13:39