.profile ou .bash_profile

14

Je suis confus, où dois-je définir les variables environnementales?

Dans .profile ou dans .bash_profile?

J'utilise à la fois mac osx et ubuntu.

Confus quant à celui que j'utilise ici.

user27449
la source

Réponses:

21

lire http://www.gnu.org/software/bash/manual/bashref.html#Bash-Startup-Files :

 When Bash is invoked as an interactive login shell, or as a 
 non-interactive shell with the --login option, it first reads 
 and executes commands from the file /etc/profile, if that file
 exists. After reading that file, it looks for ~/.bash_profile, 
 ~/.bash_login, and ~/.profile, in that order, and reads and executes
 commands from the first one that exists and is readable. The 
 --noprofile option may be used when the shell is started to inhibit
 this behavior.

d'autres shells se chargent ~/.profileaussi (zsh, tcsh) .. donc, je mettrais des trucs d'environnement dans ~/.profile.

mise à jour liée à mac osx (merci @Matt B) :

pour les programmes gui, lisez http://developer.apple.com/library/mac/#qa/qa2001/qa1067.html et modifiez-les ~/.MacOSX/environment.plistattentivement.

akira
la source
1
De plus, ~ / .profile est lu avant le démarrage de votre gestionnaire de fenêtres, donc les variables d'environnement que vous voulez voir par votre gestionnaire de fenêtres ou les applications qu'il lance doivent être placées dans votre ~ / .profile.
garyjohn
@garyjohn: Est-ce le cas pour Ubuntu ou Mac OS?
zneak
@zneak: Je suis raisonnablement sûr d'Ubuntu, moins de Mac OS X, mais je n'ai pas accès à l'un ou l'autre pour le moment.
garyjohn
1
@zneak: La remarque de @ garyjohn ne s'applique pas à Mac OS X. Pour modifier les variables d'environnement des programmes GUI, vous devez placer vos paramètres dans ~/.MacOSX/environment.plist. Voir plus d'informations ici: astro.washington.edu/users/rowen/AquaEnvVar.html .
Matt B.
4

Si vous utilisez bash, dans ~/.bash_profile. Si vous utilisez d'autres obus,~/.profile

Steven
la source