web-dev-qa-db-fra.com

Quels sont les dangers de l’approvisionnement en ~ / .profile de ~ / .bashrc?

Je vois beaucoup de gens faire le contraire. Y at-il des raisons pour lesquelles c’est une mauvaise idée de créer ~/.profile depuis ~/.bashrc?

# .bashrc

if [ -f ~/.profile ]; then
    source ~/.profile
fi

J'ai fait beaucoup de recherches et les gens font généralement ce qui suit:

# .bash_profile

if [ -f ~/.profile ]; then
    source ~/.profile
fi

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

Il faut que certaines variables env dans ~/.profile soient définies pour un shell interactif qui n'est pas un shell de connexion (j'utilise donc ~/.bashrc). Est-ce que cela m'ouvre des dangers?

1
user34295

Sans connaître votre .bashrc et votre .profile, nous ne pouvons pas le dire. Par exemple, la valeur par défaut .profile sur les sources Ubuntu .bashrc. Maintenant, si vous utilisez .profile depuis .bashrc, vous obtenez une boucle infinie:

$ bash  
zsh: segmentation fault (core dumped)  bash

(J'utilise zsh, c'est pourquoi zsh rapporte l'erreur de segmentation.)

Vous pouvez placer des gardes qui veillent à ce que ces fichiers soient recherchés au maximum une fois, mais qui sait quoi d'autre peut interagir étrangement?

Pour votre problème de variables d’environnement, cela dépend de la manière dont vous démarrez ce shell interactif, non connecté. Essayez .pam_environment à la place.

2
muru