Sé que para imprimir un texto en color usando eco, por ejemplo, color rojo, el código es: echo -e "\e[1;31m This is red text \e[0m"
y sé que en este ejemplo, 31 es código de color rojo y la cantidad de otros colores es:
Black 0;30 Dark Gray 1;30
Blue 0;34 Light Blue 1;34
Green 0;32 Light Green 1;32
Cyan 0;36 Light Cyan 1;36
Red 0;31 Light Red 1;31
Purple 0;35 Light Purple 1;35
Brown 0;33 Yellow 1;33
Light Gray 0;37 White 1;37
y para los colores de fondo, el número es de 40 a 47
Mi pregunta es: ¿qué significa \e
y [
y m
(después de 31) significa exactamente aquí?
Leí en la página del manual que es escape, pero no entendí lo que significa.
shell-script
scripting
echo
M0εiπ
fuente
fuente
echo "She said \"Hi\""
en este caso (su pregunta), tendrá que esperar una mejor respuesta.Respuestas:
Forman parte de los 'Elementos de secuencia' de las secuencias de escape ANSI, también conocidas como secuencias ECMA-48 CSI que se adoptaron originalmente en 1976
Más específicamente,
[
es el ' Introductor de secuencia de control 'Escriba
man console_codes
casi cualquier * nix distro para ver los códigos y algunos documentos.fuente
man 4 console_code
noman console_code
: en mi ubuntuPara ser precisos, los códigos de color se definen a continuación:
Básicamente, es la forma en que diferentes terminales interpretan los códigos de color y subtitula su texto dentro de estos elementos. Es una forma extraña de hacer que el terminal entienda lo que quieres decir (como HexCodes o Binary ..)
fuente
Encontré una buena explicación aquí (al menos, agradable para mí :-) ). No estoy seguro de si te será útil.
Son códigos de escape para establecer los modos de color en el terminal. Es solo que cuando se imprime con caracteres normales, se ven así.
fuente
\e
es la abreviatura del personaje de Escape. the<ESC>[
y them
son los marcadores para el comienzo y el final de las secuencias de control de color ANSI, que son un subconjunto de control de terminal ANSI secuenciado. La mayoría de ellos comienzan con<ESC>[
, seguido de un número, seguido de una letra que indica qué función se está implementando (por ejemplo, mover el cursor a la línea; borrar al final de la línea, regresar el cursor a la ubicación guardada, etc.).fuente