Cómo acceder a los valores de color solarizados dentro del script bash

Cómo acceder a los valores de color solarizados dentro del script bash

Estoy tratando de hacer mis bash PS1colores de aviso de acuerdo con elTema solarizado. Tengosolarizadoinstalado y funcionando iTerm2, pero hasta ahora no hemos logrado crear un mensaje de PS1 personalizado que coincida con el tema.

Intenté usar valores como los siguientes para cian, pero termino sin obtener color o con el color incorrecto. \033[0;37m

Obtuve los valores anteriores del siguiente enlace. https://github.com/altercation/solarized/tree/master/iterm2-colors-solarized

Respuesta1

Si lo que preguntas esSecuencias de escape ANSI, Aquí hay algunos consejos:

0 Black
1 Red
2 Green
3 Yellow/Brown
4 Blue
5 Pink
6 Cyan
7 White/Gray

Cada uno de ellos se aplica al color de primer plano o de fondo.

3_  sets grim    foreground color
9_  sets intense foreground color
4_  sets grim    background color
10_ sets intense background color
# 3-4, 9-10 and a code for a color.

Por ejemplo, al hacerlo, printf "\033[1;44;97m"conviertes el fondo 44(azul sombrío) en primer plano 97(blanco intenso).

Hay otros códigos de colores útiles que también deberías utilizar:

0 reset all colors
1 bold
3 italics
4 underline
5 blink
7 inverse

Para que sea más cómodo trabajar con eso, puede crear un conjunto de alias como fiblue fred bblacketc. También puede agregar la siguiente función a su bashrc:

ansi() {
    printf "\033[$1"
}

Para que en lugar de escribir \033[1;35mlo hagas ansi '1;35m', y escribir alias de colores con esa función sea más cómodo.

También debe tener en cuenta que al establecer un color de fondo se restablece el color de primer plano ya establecido, por lo que debe usar\033[misc;background;foregroundm.

De esta manera, puedes pintar lo PS1que quieras. He aquí un ejemplo:

PS1="\033[0;1;36m\u\033[0;1m:\033[1;103;30m\t\033[0m \033[1;92m\$\033[0m \r"

Échale un vistazo también abash_it.

Espero haber respondido lo que preguntaste.

información relacionada