Não realmente; a cor da saída de um determinado programa é controlada pelo comando, não pelo terminal.
Dito isso, supondo que seu terminal compreenda códigos de escape ANSI para cores (a maioria faz), você pode usar códigos de escape para definir a cor solicitada desejada no início do prompt e a cor de saída desejada no final; Isso resultaria em suas linhas de comando também em qualquer cor definida para a saída, mas provavelmente é o mais próximo que você chegará do que está procurando. Por exemplo, o seguinte:
$ export PS1='\[3[00;35m\]\u\[3[00m\]@\[3[00;35m\]\H\[3[00m\]:\[3[00;33m\]\W\[3[00m\] \$\[3[00;34m '
fornecerá um aviso semelhante a:
user@host:wd $ _
com 'user' e 'host' em roxo, 'wd' (seu cwd) em marrom (amarelo escuro), e tudo após o '$' em qualquer terminal usado para azul claro. (Um xterm padrão irá renderizar isso em cyan; o gnome-terminal parece padronizar um tom bastante agradável de azul-centáurea).
O código de cor real, conforme especificado no formato necessário para o bash, é, por exemplo, \[3[00;35m\]
, em que 00;35
é a especificação de cor real; o 00
inicial raramente muda, mas pode produzir efeitos IIRC negrito (01), sublinhado (??) e reverso de vídeo (??), enquanto o rastro '35' é a cor real, que neste caso é roxa.
É surpreendentemente difícil encontrar uma lista decente de códigos de cores ANSI, mas as cores de primeiro plano são de 30 a 37 e as de segundo plano de 40 a 47, como segue:
color fg bg
black 30 40
red 31 41
green 32 42
yellow 33 43
blue 34 44
purple 35 45
cyan 36 46
gray/white 37 47
Tenha em mente que, como você está definindo uma cor padrão para tudo que segue o seu prompt, os programas executados que não definem suas próprias cores por meio de códigos de escape levarão essa cor - por exemplo, se Se você executar um pager, provavelmente verá sua saída na mesma cor que definiu para outros comandos. Enquanto isso, os comandos que fizerem definirem suas próprias cores por meio de códigos de escape ignorarão completamente seus esforços.