.bash_profile não está sendo lido

5

Então eu estou usando o CentOS 6.3 uma nova instalação e eu estava tentando adicionar coisas ao meu caminho para o OpenMPI, então eu editei meu arquivo .bash_profile para ler:

FOO='test'
export FOO

# Add support for MPI
PATH=$PATH:/usr/lib64/openmpi/bin

# User specific environment and startup programs

PATH=$PATH:$HOME/bin




export PATH

O que aparentemente não está sendo lido quando eu inicio um bash shell, meu $ PATH está sem o caminho / usr / lib64 / openmpi / bin e o FOO não existe quando eu tento echo $FOO

.bashrc é lido muito bem e se eu fizer source ~/.bash_profile FOO é criado assim como meu $ PATH sendo editado corretamente mas ele não irá rodar o .bash_profile sozinho, então se eu pudesse obter alguma ajuda seria ótimo.

    
por csteifel 11.12.2012 / 07:45

2 respostas

13

Você poderia descrever como você testa esses 2 arquivos? Você tentou fazer login ou não-login shell? Aqui está a diferença:

Quando você faz login no sistema e vê o prompt da linha de comando, ele é um shell de login e executa esses arquivos na ordem:

/etc/profile
~/.bash_profile
~/.bashrc
/etc/bashrc

Um shell de não login só executará os dois arquivos na ordem:

/etc/bashrc
~/.bashrc

Se você simplesmente iniciar um shell bash por "bash", ele será um shell que não seja de login e ~ / .bash_profile não será chamado. Se você espera que as variáveis sejam definidas mesmo ao executar o shell que não seja de login, você deve colocá-las em ~/.bashrc .

    
por 11.12.2012 / 08:21
4

Isso é normal , o .bash_profile é originado por shell de login, .bashrc é originado por shells não-login interativos. No CentOS, o topo do .bash_profile geralmente tem:

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

Então você pode colocar coisas em .bashrc.

O Mac OS X Terminal lê .bash_profile quando você abre uma nova janela. O gnome-terminal pode ser feito para fazer isso com Executar o comando como um shell de login .

    
por 11.12.2012 / 08:20