.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 в качестве оболочки для входа.