В чем опасность получения ~ / .profile из ~ / .bashrc? [закрыто]

Я вижу, что многие поступают наоборот. Есть ли причины, по которым использование источника ~ / .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 ). Это открывает мне какие-либо опасности?

1
задан 25 November 2017 в 20:16

1 ответ

Не зная твоего .bashrc и твоего .profile, мы не можем сказать. Например, по умолчанию .profile в источниках Ubuntu .bashrc. Теперь, если вы наберете .profile из .bashrc, вы получите бесконечный цикл:

$ bash  
zsh: segmentation fault (core dumped)  bash

(я использую zsh, поэтому zsh сообщает о segfault.)

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

Для вашей проблемы с переменными среды это зависит от того, как вы запускаете эту интерактивную оболочку, не входящую в систему. Попробуйте вместо этого .pam_environment.

2
ответ дан 25 November 2017 в 20:16

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

Похожие вопросы: