.profile ou .bash_profile

14

Estou confuso, onde defino variáveis ​​ambientais?

Em .profile ou em .bash_profile?

Estou usando o mac osx e o ubuntu.

Confuso sobre qual deles eu uso aqui.

user27449
fonte

Respostas:

21

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

outras conchas carregam ~/.profiletambém (zsh, tcsh) .. então, eu colocaria coisas do ambiente ~/.profile.

atualização relacionada ao mac osx (obrigado @Matt B) :

para programas gui, leia http://developer.apple.com/library/mac/#qa/qa2001/qa1067.html e edite com ~/.MacOSX/environment.plistcuidado.

akira
fonte
1
Além disso, ~ / .profile é lido antes do seu gerenciador de janelas iniciar, portanto, as variáveis ​​de ambiente que você deseja que sejam vistas pelo seu gerenciador de janelas ou os aplicativos que ele lança devem ser colocadas no seu ~ / .profile.
precisa saber é o seguinte
@garyjohn: Esse é o caso do Ubuntu ou Mac OS?
Zneak 2/08
@zneak: Tenho certeza absoluta sobre o Ubuntu, menos sobre o Mac OS X, mas não tenho acesso a nenhum deles para verificar no momento.
garyjohn
1
@zneak: a observação de @ garyjohn não se aplica ao Mac OS X. Para alterar variáveis ​​de ambiente para programas GUI, você deve colocar suas configurações em ~/.MacOSX/environment.plist. Veja mais informações aqui: astro.washington.edu/users/rowen/AquaEnvVar.html .
Matt B.
4

Se você usa o bash, em ~/.bash_profile. Se você usar outras conchas, em~/.profile

Steven
fonte