Не могли бы вы описать, как вы тестируете эти 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 читает .bash_profile, когда вы открываете новое окно. gnome-terminal может сделать это с помощью команды Выполнить как оболочку входа в систему .