Почему моя переменная среды не видна из командной строки?

Я пытаюсь запустить SMTP-сервер James на Lion (Mac OS X 10.7.2). Когда я это делаю:

sudo JAVA_HOME=/Library/Java/Home ./james-2.3.2/bin/run.sh 

он отлично работает.

Однако я хотел бы сделать JAVA_HOME переменной окружения, чтобы она была видна и для других приложений.

Я редактировал файл ~ / .bash_profile, чтобы выглядеть так:

 export JAVA_HOME=/Library/Java/home 

и переменная кажется видимой из командной строки следующим образом:

 $ echo $JAVA_HOME /Library/Java/home 

Но когда я снова запускаю james, я получаю предупреждение о JAVA_HOME:

 $ sudo ./james-2.3.2/bin/run.sh ERROR: JAVA_HOME not found in your environment. Please, set the JAVA_HOME variable in your environment to match the location of the Java Virtual Machine you want to use. 

Любые идеи, что я делаю неправильно? Почему команда run james не может видеть переменную среды JAVA_HOME?

Любая информация очень ценится, спасибо!

2 Solutions collect form web for “Почему моя переменная среды не видна из командной строки?”

sudo сбрасывает переменные среды на безопасные значения по умолчанию.

Если вы хотите сохранить эту переменную, вам необходимо visudo и добавить это:

 Defaults env_keep = "JAVA_HOME" 

Обратите внимание, что перенос переменных пользовательской среды на привилегированные учетные записи является возможной угрозой безопасности.

Я не уверен, есть ли у Lion каталог /etc или нет (я предполагаю, что он это делает), или /etc/bashprofile или /etc/bashrc на самом деле находится в этом каталоге, но если вы хотите сделать это изменение в рамках всей системы, просто посмотрите для любого из этих файлов, отредактируйте его и внесите в него изменение так:

 export PATH=$PATH:/path/to/Java/ 

Следующий вход подберет изменения и будет сохранен.

  • Является ли Mac OS X действительно совместимым с SUS?
  • Чтение последовательного порта с помощью кота не дает мне ничего, но экран работает?
  • Установка инструментов командной строки Xcode, командной строки
  • Отсутствует источник ~ / .bashrc Терминал Mac: ~ / .profile?
  • mpg321 не автовоспроизведение песен
  • Отрицательные аргументы для головы / хвоста
  • Как использовать терминал для доступа к iCloud Drive, когда Finder не работает
  • Как создать Lynx с SSL на Mac OS X?
  • Проблема создания программного обеспечения KDE на OSX
  • команда терминала | grep IP
  • tmux вызывает смелые шрифты в vim
  • Linux и Unix - лучшая ОС в мире.