Я вижу, что многие поступают наоборот. Есть ли причины, по которым использование источника ~ / .profile
из ~ / .bashrc
- плохая идея?
# .bashrc
if [ -f ~/.profile ]; then
source ~/.profile
fi
Я много искал, и обычно люди делают следующее:
# .bash_profile
if [ -f ~/.profile ]; then
source ~/.profile
fi
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
Мне нужно, чтобы некоторые переменные env в ~ / .profile
были определены для интерактивной оболочки, которая не является оболочкой входа в систему (поэтому я использую ~ / .bashrc
). Это открывает мне какие-либо опасности?
Не зная твоего .bashrc
и твоего .profile
, мы не можем сказать. Например, по умолчанию .profile
в источниках Ubuntu .bashrc
. Теперь, если вы наберете .profile
из .bashrc
, вы получите бесконечный цикл:
$ bash
zsh: segmentation fault (core dumped) bash
(я использую zsh, поэтому zsh сообщает о segfault.)
Вы можете разместить охранников которые гарантируют, что эти файлы будут получены не более одного раза, но кто знает, что еще может странно взаимодействовать?
Для вашей проблемы с переменными среды это зависит от того, как вы запускаете эту интерактивную оболочку, не входящую в систему. Попробуйте вместо этого .pam_environment
.