¿Se necesitan \[ y \]?

¿Se necesitan \[ y \]?

Veo esta configuración del indicador bash desde Internet:

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

Como dice el documento:

\[y \]se utilizan para advertir que el contenido interno no es imprimible (caracteres de control).

Cuando elimino todos los \[y \]del mensaje anterior, PS1se convierte en:

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

¡Y todavía funciona! Entonces, ¿lo que se \[necesita \]? ¿Y cuáles son las diferencias si los elimino todos?

Respuesta1

¿Has intentado buscar en tu historial ( Ctrl+Po )? Una vez que la línea es más larga, puede sobrescribir el mensaje si no conoce su longitud correcta.

información relacionada