16

I'm confused, where do I set environmental variables?

In .profile or in .bash_profile?

I am using both mac osx and ubuntu.

Confused as to which one I use here.

user27449
  • 7,178

2 Answers2

23

read 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.

other shells load ~/.profile as well (zsh, tcsh) .. so, i would put environment stuff into ~/.profile.

mac osx related update (thanks @Matt B):

for gui programs read http://developer.apple.com/library/mac/#qa/qa2001/qa1067.html and edit ~/.MacOSX/environment.plist carefully.

akira
  • 63,447
3

If you use bash, in ~/.bash_profile. If you use other shells, in ~/.profile

Steven
  • 2,399