Na verdade não; a cor da saída de um determinado programa é controlada pelo comando, não pelo terminal.
Dito isso, supondo que o seu terminal compreenda códigos de escape ANSI para cores (a maioria faz), você pode usar códigos de escape para definir a cor desejada no início do prompt e a cor desejada no final; isso resultaria em suas linhas de comando também com a cor que você definiu para a saída, mas provavelmente é o mais próximo que você conseguirá do que está procurando. Por exemplo, o seguinte:
$ export PS1='\[\033[00;35m\]\u\[\033[00m\]@\[\033[00;35m\]\H\[\033[00m\]:\[\033[00;33m\]\W\[\033[00m\] \$\[\033[00;34m '
fornecerá um prompt parecido com:
user@host:wd $ _
com 'user' e 'host' em roxo, 'wd' (seu cwd) em marrom (amarelo escuro) e tudo depois do '$' em qualquer que seja o terminal usado para azul claro. (Um xterm padrão renderiza isso em ciano; o gnome-terminal parece ter um tom bastante agradável de azul centáurea.)
O código de cores real, conforme especificado no formato necessário para o bash, é, por exemplo \[\033[00;35m\]
, onde 00;35
é a especificação de cores real; o líder 00
raramente muda, mas pode produzir efeitos de negrito (01), sublinhado (??) e vídeo reverso (??) do IIRC, enquanto o '35' à direita é 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 variam de 30 a 37 e as de segundo plano, de 40 a 47, da seguinte maneira:
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
Lembre-se de que, como você define uma cor padrão para tudo o que segue sua solicitação, os programas executados que não definem suas próprias cores por meio de códigos de escape terão essa cor - por exemplo, se você executar um pager, é provável que você veja a saída na mesma cor que definiu para outros comandos. Enquanto isso, os comandos que não definir suas próprias cores através de códigos de escape irá ignorar seus esforços inteiramente.