Eu tenho diferentes comportamentos no terminal com a mesma definição de prompt no Snow Leopard e Lion.
No meu sistema Snow Leopard, defino meu prompt de terminal em .profile da seguinte forma:
export PS1='\[\e[32;1m\]\w\$\[\e[0m\] '
Isso cria um prompt verde sobre preto, com a saída de comandos normais sendo branco sobre preto por padrão. (Por exemplo, se eu digitar man recebo a saída Que página de manual você quer? em branco sobre preto.)
No meu sistema Lion, com o mesmo .profile, recebo o mesmo prompt verde sobre preto, mas a cor do texto não volta mais para branco sobre preto. (Se eu digitar man recebo a saída Que página de manual você quer? no mesmo verde sobre preto que o prompt).
Por que o terminal da Lion se comporta de maneira diferente - e como faço para alterar o texto de volta para branco sobre preto?
Uma maneira melhor (porque é mais portável entre upgrades e sistemas diferentes) de lidar com as configurações de prompt é usando tput com códigos terminfo para sempre obter os códigos apropriados para o seu tipo de termo. A partir da página man "usa o banco de dados terminfo para tornar os valores dos recursos e informações dependentes de terminal disponíveis para o shell"
Aqui está um exemplo do meu .profile
red=$(tput setaf 1)
green=$(tput setaf 2)
blue=$(tput setaf 4)
reset=$(tput sgr0)
PS1="\[$red\]\u\[$reset\]@\[$green\]\h\[$reset\]:\[$blue\]\w\[$reset\]\$ "
da página man do terminfo, os códigos setaf são
set_a_foreground setaf AF Set foreground
color to #1, using
ANSI escape
Veja tput(1)
e terminfo(5)
para saber mais sobre o que você pode fazer com isso.