A variável PS1 não mostra mais o prompt bash colorido

3

Estou executando um VPS com o Centos 6.5

Eu configurei ~/.bash_profile como na captura de tela a seguir:

Elecostumavamedarumasaídacomoesta:

Agora que instalei o WHM / Cpanel, não vejo mais o prompt colorido.

echo $PATH mostra:

/usr/local/jdk/bin:/home/jay/perl5/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11R6/bin:/home/jay/bin

Como posso consertar isso? Alguém pode me ajudar?

Tudo funciona de acordo com a configuração. Grep e ls mostram saídas coloridas. Preciso que isso funcione, pois acho conveniente localizar rapidamente comandos e saídas anteriores.

    
por Jay 09.04.2014 / 12:15

2 respostas

0

O gerenciamento de arquivos de inicialização do Bash é bizarro. Em um shell de login, o bash lê /etc/profile e ~/.bash_profile apenas. Em um shell interativo de não-login, o bash lê /etc/bash.bashrc e ~/.bashrc apenas. (Estou simplificando um pouco, leia o manual se você realmente quiser os detalhes completos.)

Para conter a loucura, use o seguinte conteúdo em ~/.bash_profile :

# Read the shell-agnostic login hook
if [ -e ~/.profile ]; then . ~/.profile; fi
if [[ $- = *i* ]]; then
  # This is an interactive shell, so read bash's interactive login hooks
  # (which bash omits in login shells)
  if [[ -e /etc/bash.bashrc ]]; then . /etc/bash.bashrc; fi
  if [[ -e /etc/bashrc ]]; then . /etc/bashrc; fi
  if [[ -e ~/.bashrc ]]; then . ~/.bashrc; fi
fi

Coloque informações sobre o tempo de login, como definições de variáveis de ambiente (por exemplo, PATH , EDITOR ) em ~/.profile . Coloque coisas interativas como configurações de prompt e aliases em ~/.bashrc .

Para obter mais informações, consulte Existe um arquivo Bash que será sempre originado no modo interativo, não importa se é login ou não-login? , Diferença entre o login shell e o non-login shell? e Diferença entre .bashrc e .bash_profile

    
por 10.04.2014 / 02:56
0

Estou apenas respondendo a minha própria pergunta, caso alguém se depare com o mesmo problema.

Você pode atribuir a variável PS1 em /etc/bashrc para todos os usuários ou comentar e usar /.bash_profile para uma conta individual. No meu caso, /.bash_profile já estava configurado e tudo o que tenho a fazer foi desabilitar o PS1 em /etc/bashrc .

Consulte a seguinte captura de tela. Após a modificação, reinicie ou ssh novamente. Observe os comentários deixados pelos desenvolvedores do cPanel.

Muito obrigado a Slyx e a todos por suas valiosas respostas.

    
por 17.04.2014 / 13:24

Tags