.profile oder .bash_profile

14

Ich bin verwirrt, wo setze ich Umgebungsvariablen?

In .profile oder in .bash_profile?

Ich benutze sowohl Mac OSX als auch Ubuntu.

Verwirrt, welchen ich hier benutze.

user27449
quelle

Antworten:

21

Lesen Sie 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.

Andere Shells werden ebenfalls geladen ~/.profile(zsh, tcsh) ~/.profile.

Mac OSX Update (danke @Matt B) :

Für GUI-Programme http://developer.apple.com/library/mac/#qa/qa2001/qa1067.html lesen und ~/.MacOSX/environment.plistsorgfältig bearbeiten .

Akira
quelle
1
Außerdem wird ~ / .profile vor dem Start Ihres Fenstermanagers gelesen. Daher sollten Umgebungsvariablen, die von Ihrem Fenstermanager oder den von ihm gestarteten Anwendungen angezeigt werden sollen, in Ihrem ~ / .profile gespeichert werden.
Garyjohn
@garyjohn: Ist das bei Ubuntu oder Mac OS der Fall?
Zneak
@zneak: Ich bin mir ziemlich sicher, was Ubuntu und weniger Mac OS X angeht, aber ich habe im Moment keinen Zugang zu einem, der überprüft werden kann.
Garyjohn
1
@zneak: @ garyjohns Bemerkung gilt nicht für Mac OS X. Um Umgebungsvariablen für GUI-Programme zu ändern, müssen Sie Ihre Einstellungen in platzieren ~/.MacOSX/environment.plist. Weitere Informationen finden Sie hier: astro.washington.edu/users/rowen/AquaEnvVar.html .
Matt B.
4

Wenn Sie Bash verwenden, in ~/.bash_profile. Wenn Sie andere Muscheln verwenden, klicken Sie auf~/.profile

Steven
quelle