Existe algo assim no Unix?
$ echo "this should show in red" | red
$ echo "this should show in green" | green
$ echo "this should show in blue" | blue
Aqui, não quero que o texto literal do código de cores seja exibido (para ser colado em um arquivo, por exemplo). Quero apenas que o texto apareça no terminal com essa cor. Isso é possível?
rgb001
,rgb123
etc. Consulte perldoc.perl.org/Term/ANSIColor.html#Supported-Colors para obter mais detalhes.Você usaria
tput
para isso:Isso pode ser usado para construir um tubo:
As cores básicas são respectivamente preto (0), vermelho (1), verde, amarelo, azul, magenta, ciano e branco (7). Você encontrará todos os detalhes na página de
terminfo(5)
manual .fonte
Com
zsh
:E depois:
fonte
(conforme discutido nos comentários, use
tput
se você o tiver)Usando o shell bourne e o
echo
comando (embutido) que compreende o escape ANSI\e
com a-e
opção:ou, script shell mais genérico (por exemplo
/usr/local/bin/colorize
):IFS=
é necessário para impedir o corte de espaço em branco (consulte POSIX para obter detalhes).fonte
tput
.