true colors no prompt do bash?

4

É possível usar cores verdadeiras no prompt do bash? Estou usando o iTerm2 no MacOS, que suporta cores verdadeiras. Mas não tenho certeza de como eu uso cores verdadeiras para o meu prompt bash.

No momento, estou usando tput af <number> no meu prompt do bash para obter cores.

    
por ronakg 19.06.2017 / 05:51

1 resposta

1

Isso parece ser possível. por exemplo:

export PS1="\[$(printf "\x1b[48;2;15;100;50m\]A nice dark green [rgb(15,100,50)]:\[\x1b[0m")\] "

export PS1="\[$(printf "\x1b[38;2;255;100;250m\]A lovely shade of pink [rgb(255,100,250)]:\[\x1b[0m")\] "

Pode haver uma maneira melhor do que chamar $ (printf ...). Espero que sim, mas não sei. A chave é envolver todas as coisas 'meta' (mas não o conteúdo real) em \[ e \] para evitar que o shell conte-o como parte do tamanho do prompt para que ele seja reproduzido corretamente (por exemplo. ao pedalar pela história.)

Os últimos três números em cada expressão \x1b[...m representam os valores desejados de vermelho, verde e azul (de 0 a 255).

O primeiro número define fundo (48) ou primeiro plano (38). Não sei o que o outro número faz, mas brincar com ele adicionando um \x1b[38;4m adicional parece definir o texto para sublinhado.

Você pode obter mais informações sobre essa essência: link

    
por 22.12.2017 / 11:11