Como acessar valores de cores solarizadas no script bash

Como acessar valores de cores solarizadas no script bash

Estou tentando fazer minhas bash PS1cores de prompt de acordo com oTema solarizado. Eu tenhosolarizadoinstalado e funcionando iTerm2, mas até agora não obtive sucesso na criação de um prompt PS1 personalizado que corresponda ao tema.

Tentei usar valores como os seguintes para ciano, mas acabo ficando sem cor ou com a cor errada. \033[0;37m

Obtive os valores acima no link a seguir. https://github.com/altercation/solarized/tree/master/iterm2-colors-solarized

Responder1

Se o que você está perguntando éSequências de escape ANSI, aqui vão algumas dicas:

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

Cada um deles é aplicado à cor de primeiro plano ou de fundo.

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 exemplo, ao fazer isso, printf "\033[1;44;97m"você coloca seu plano de fundo 44(azul sombrio) em primeiro plano 97(branco intenso).

Existem outros códigos de cores úteis que você também deve usar:

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

Para tornar mais confortável trabalhar com isso, você pode criar um conjunto de aliases como fiblue fred bblacketc. Você também pode adicionar a seguinte função ao seu bashrc:

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

Para que, em vez de escrever , \033[1;35mvocê faça ansi '1;35m'e escrever aliases de cores com essa função seja mais confortável.

Você também deve observar que definir uma cor de fundo redefine a cor de primeiro plano já definida, então você deve usar\033[misc;background;foregroundm.

Dessa forma, você pode pintar o que PS1quiser. Aqui está um exemplo:

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

Dê uma olhada tambémbash_it.

Espero ter respondido o que você perguntou.

informação relacionada