Muitos dos terminais atuais (incluindo o gnome-terminal) usam duas ou até três paletas de cores: 8 cores, 256 cores e 24 bits (aproximadamente 16x10 ^ 6 cores). No entanto, muitas vezes os dois primeiros conjuntos podem ser escolhidos arbitrariamente a partir do último e novamente esse é o caso de gnome-terminal
(e, por exemplo, seu primo terminator
).
Agora, para alterar a paleta de cores específica da paleta de 24 bits do rgb, precisamos do \e]4
código de escape seguido por um número de código de cor alterado e cor rgb. No seu caso
printf '\e[33mTEST\e[m\n' # first print "TEST" to see yellow text
printf '\e]4;3;rgb:b0/4a/00\e\' # now we change yellow to brown
printf '\e[33mTEST\e[m\n' # test again
O apelido amarelo é 3
e para marrom eu escolhi arbitrariamente b04a00
.
Após essa modificação, você notará que todo o texto amarelo foi alterado, mesmo o impresso anteriormente.