Mettez tout dans .bashrc
et ensuite la source .bashrc
de .profile
Depuis la page de manuel de bash (sur OS X 10.9) :
Lorsqu'un Shell interactif qui n'est pas un Shell de connexion est lancé, bash lit et exécute les commandes de ~/.bashrc, si ce fichier existe. Ceci peut être inhibé en utilisant l'option --norc. L'option --rcfile file forcera bash à lire et exécuter les commandes du fichier au lieu de ~/.bashrc.
Le texte ci-dessus est la raison pour laquelle tout est mis dans .bashrc
. Cependant, il y a un comportement un peu différent lorsque vous avez affaire à un login Shell. Encore une fois, je cite la page de manuel :
Lorsque bash est invoqué comme un Shell interactif de connexion, ou comme un Shell non interactif avec l'option --login, il lit et exécute d'abord les commandes du fichier /etc/profile, si ce fichier existe. Après avoir lu ce fichier, il recherche ~/.bash_profile, ~/.bash_login, et ~/.profile, dans cet ordre, et lit et exécute les commandes du premier fichier qui existe et qui est lisible. L'option --noprofile peut être utilisée lorsque le Shell est lancé pour inhiber ce comportement.
.profile
est lu pour les shells de connexion, mais .bashrc
ne l'est pas. Dupliquer tout ça dans .bashrc
est bad™ donc nous avons besoin de la source en .profile
pour que le comportement reste cohérent.
Cependant, vous ne voulez pas vous approvisionner .bashrc
de .profile
sans condition. Veuillez consulter les commentaires et les autres réponses pour plus de détails.
8 votes
Cette question ne devrait pas être marquée comme dupliquée, la raison étant que le profil n'est pas disponible dans la question ajoutée.
0 votes
Ans : serverfault.com/q/261802/270464