.bash_profile не читается

Поэтому я использую CentOS 6.3 при новой установке, и я пытался добавить что-то в мой путь для OpenMPI, поэтому я отредактировал свой файл.bash_profile, чтобы он читал:

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

Который, очевидно, не читается, когда я запускаю оболочку bash, у меня $PATH без пути /usr/lib64/openmpi/bin и FOO не существует, когда я пытаюсь echo $FOO

.bashrc читается очень хорошо, и если я делаю source ~/.bash_profile FOO создан так же, как и мой $PATH, который редактируется должным образом, но он не будет запускать.bash_profile сам по себе, поэтому, если бы я мог получить какую-либо помощь, это было бы здорово.

2 ответа

Не могли бы вы описать, как вы тестируете эти 2 файла? Вы пробовали войти или не входить в оболочку? Вот разница:

Когда вы входите в систему и видите приглашение командной строки, это оболочка входа в систему, и она выполняет эти файлы в следующем порядке:

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

Оболочка без входа в систему будет выполнять два файла только в следующем порядке:

/etc/bashrc
~/.bashrc

Если вы просто запускаете оболочку bash с помощью "bash", это оболочка, не входящая в систему, и ~/.bash_profile вызываться не будет. Если вы ожидаете, что переменные будут установлены даже при запуске оболочки без входа в систему, вы должны поместить их в ~/.bashrc,

Это нормально, .bash_profile создается для оболочек входа в систему, .bashrc - для интерактивных оболочек без входа в систему. В CentOS вершина.bash_profile обычно имеет:

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

Таким образом, вы можете положить вещи в.bashrc.

Mac OS X Terminal читает.bash_profile при открытии новых окон. Для этого gnome-терминал может быть выполнен командой Run в качестве оболочки для входа.

Другие вопросы по тегам