.profile или .bash_profile

14

Я запутался, где я могу установить переменные среды?

В .profile или в .bash_profile?

Я использую Mac OSX и Ubuntu.

Смущен тем, какой я здесь использую.

user27449
источник

Ответы:

21

прочитайте 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.

другие оболочки ~/.profileтоже загружаются (zsh, tcsh) .. так что я бы поместил окружение ~/.profile.

Mac OSX связанное обновление (спасибо @Matt B) :

для программ с графическим интерфейсом прочитайте http://developer.apple.com/library/mac/#qa/qa2001/qa1067.html и отредактируйте ~/.MacOSX/environment.plistвнимательно.

Акира
источник
1
Кроме того, ~ / .profile читается до запуска вашего оконного менеджера, поэтому переменные окружения, которые вы хотите видеть в своем оконном менеджере или в приложениях, которые он запускает, должны быть помещены в ваш ~ / .profile.
garyjohn
@garyjohn: Это относится к Ubuntu или Mac OS?
zneak
@zneak: Я достаточно уверен в Ubuntu, в меньшей степени в Mac OS X, но у меня нет доступа ни к одному из них для проверки в данный момент.
garyjohn
1
@zneak: замечание @ garyjohn не относится к Mac OS X. Чтобы изменить переменные среды для программ с графическим интерфейсом, вы должны поместить свои настройки в ~/.MacOSX/environment.plist. См. Дополнительную информацию здесь: astro.washington.edu/users/rowen/AquaEnvVar.html .
Мэтт Б.
4

Если вы используете Bash, в ~/.bash_profile. Если вы используете другие оболочки, в~/.profile

Стивен
источник