Qual é a diferença entre \ e [38; 5; 175m e \ [\ e [38; 5; 175m \] no que se refere a cores bash?

1

Eu tenho tentado aprender como personalizar meu shell e me deparei com duas maneiras diferentes de especificar cores no shell Bash. Ambos parecem realizar o mesmo objetivo e não tenho certeza do que (se houver) é a diferença. O que o entorno [e] faz?.

Exemplo:

# colors!
red="\e[38;5;196m"
lightMagenta="\[\e[38;5;175m\]"
reset="\[3[0m\]"

# Change command prompt
source ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
export PS1="$lightMagenta\u@\h$green\$(__git_ps1)$red \W $ $reset"

Qualquer ideia seria muito apreciada.

Obrigado!

    
por PetarM 02.05.2016 / 13:19

1 resposta

1

Eu encontrei uma página sobre Personalização do Prompt Bash que diz:

Wrapping [terminal escape sequences] in \[ \] is recommended by the Bash man page. This helps Bash ignore non-printable characters so that it correctly calculates the size of the prompt.

    
por 05.05.2016 / 07:07