.bash_profile
est exécuté pour les shells de connexion, tandis que .bashrc
est exécuté pour les shells interactifs sans login.
Lorsque vous vous connectez (en tapant le nom d'utilisateur et le mot de passe) via la console, soit en restant sur la machine, soit à distance via ssh : .bash_profile
est exécuté pour configurer votre shell avant l'invite de commande initiale.
Mais, si vous vous êtes déjà connecté à votre machine et que vous ouvrez une nouvelle fenêtre de terminal (xterm), alors .bashrc
est exécuté avant l'invite de commande de la fenêtre. .bashrc
est également lancé lorsque vous démarrez une nouvelle instance de bash en tapant /bin/bash
dans un terminal.
Sous OS X, Terminal exécute par défaut un shell de connexion à chaque fois, ce qui est un peu différent de la plupart des autres systèmes, mais vous pouvez le configurer dans les préférences.
8 votes
Je ne veux pas décourager la connaissance d'Unix ici, mais bash est une pure bête UNIX, donc vous pourriez obtenir une meilleure connaissance ou avoir une réponse à cette question plusieurs fois sur un site partenaire. Il y a bien plus de 200 paires question/réponse sur bashrc sur unix
2 votes
Il y a également un profil... Voir cette question sur Stack Overflow.
2 votes
Si vous
brew install bash
et utiliser iTerm2, vous pourriez définirprofile -> command
a/usr/local/bin/bash
qui chargera.bashrc
par défaut après.bash_profile
. Cela vous donne aussi Bash 4 goodies...