Как установить переменные среды?

90

Я пытаюсь настроить Apache Tomcat на моем компьютере, и он хочет, чтобы я установил переменную среды для CATALINA_HOME. Кто-нибудь знает, как это сделать?

jumpnett
источник

Ответы:

100

В bash вы можете установить переменные следующим образом:

export CATALINA_HOME=/opt/catalina

большинство других оболочек следуют этому соглашению, но не все. Вы можете установить его постоянно ~/.profileдля bash (и, как и раньше, другие оболочки имеют другие местоположения)

Ressu
источник
6
для сессии в масштабах переменных, help.ubuntu.com рекомендует , ~/.profileкак , вероятно , лучший файл для размещения переменной среды назначения в, так как он запускается на выполнение автоматически DisplayManager во время рабочего стола сессии процесса запуска, а также шелл , когда один журналы-в из текстовой консоли.
Макдауэлл
Обновил ответ. Причина, по которой я использовал .bashrc, заключалась в том, что в какой-то момент .profile не был получен автоматически. Но если это работает сейчас, лучше использовать это.
Ressu
6
Установка его ~/.profileне работает для меня. Это работает, ~/.bashrcхотя.
Jumpnett
Установка этого также ~/.bash_profileработает.
Jumpnett
Существует также системный файл в / etc. Это работает, но для каждого пользователя.
Где и когда наступит
26

Переменные среды уже должны работать

Если вы используете пакет tomcat6 из репозиториев Ubuntu, то CATALINA_HOME и другие переменные среды уже заданы в /etc/init.d/tomcat6сценарии запуска.

Если вы устанавливаете tomcat вне диспетчера пакетов (возможно, в / opt или где-то еще за пределами управляемой файловой системы), то при запуске TOMCAT/bin/startup.shследует использовать относительное расположение для определения CATALINA_HOME.

Установка переменной среды

Если по какой-то причине вам все еще нужно установить переменную окружения, вы можете открыть окно терминала и ввести команду:

export CATALINA_HOME=/path/to/the/root/folder/of/tomcat

Эта переменная среды теперь будет работать в этом окне терминала, но если вы откроете другое окно или выйдете из системы / войдите в систему, вы потеряете эту настройку.

Сделать переменную среды постоянной

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

Чтобы быть уверенным, что настройка выбрана, добавьте вышеуказанную настройку в один из сценариев запуска tomcat:

yourtomcatfolder/bin/startup.sh

yourtomcatfolder/bin/catalina.sh

Примечание: startup.sh вызывает catalina.sh. Вы должны добавить настройки в начале одного из этих файлов (после любых начальных комментариев)

Стандартным способом для глобальных переменных среды является добавление записи в /etc/environment(вы не используете команду export в этом файле, так как это не обычный скрипт bash)

CATALINA_HOME=/path/to/the/root/folder/of/tomcat

Не рекомендуется

Вы можете установить переменные окружения в конфигурационных файлах bash (оболочки командной строки), но это не рекомендуется, так как они не всегда подхватываются (например, если вы используете сервер, на который вы не входили, чтобы запустить tomcat): ~ / .bashrc | ~ / .profile | /etc.bash.bashrc | / И т.д. / профиль

jr0cket
источник
5
Это должен быть не сценарий startupили catalina, а сценарий setenv.shили setenv.bat, создающий его при необходимости: «Помимо CATALINA_HOME и CATALINA_BASE, все переменные окружения могут быть указаны в сценарии« setenv ». Сценарий помещается либо в CATALINA_BASE / bin, либо в CATALINA_HOME / bin и называется setenv.bat (в Windows) или setenv.sh (в * nix). Файл должен быть читаемым. " ( Запуск сервера Apache Tomcat 7.0 Servlet / JSP , раздел 3.4)
Олат
23

Чтобы установить постоянные переменные среды в последних версиях Ubuntu (от 14.04 и выше), добавьте переменные в /etc/environment. Для этого следуйте приведенным ниже инструкциям,

Откройте терминал и запустите

sudo -H gedit /etc/environment

введите свой пароль, затем в текстовом файле подсказки

затем добавьте переменные как

ANT_HOME="/opt/ANT/"

Образец /etc/environmentприведен ниже

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-oracle/"
AXIS2_HOME="/opt/axis2-1.7.4/"
ANT_HOME="/opt/apache-ant-1.9.7/"

не забудьте выйти и войти снова, чтобы включить переменные среды.

Касун Сиямбалапития
источник
6

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

В документации Ubuntu по переменным среды обсуждаются плюсы и минусы различных вариантов.

Макдауэлл
источник
На что вы ссылаетесь, когда говорите «лучшее место для этого»?
Jumpnett
@jumpnett - я имею в виду, где сделать настройку постоянной, чтобы она всегда была доступна приложениям в зависимости от нее. Если вы не счастливы вводить настройки каждый раз или хотите написать свой собственный скрипт.
Макдауэлл
3
nano ~/.bashrc

Скорее всего, это будет содержать довольно много данных уже. Большинство определений здесь предназначены для настройки параметров bash, которые не связаны с переменными среды. Вы можете установить переменные окружения так же, как и в командной строке:

export VARNAME=value

ССЫЛКА

Я проверил это на Ubuntu 16.04. Работает отлично.

Sunny127
источник
1

Изучив документацию по переменным окружения в Ubuntu, я нашел следующий способ:

##Save & run the following in a shell script,

export ENVIRON_VAR_NAME = Value
# any other initializations like
export PATH=$PWD:$PATH
bash

Последняя строка создает дочернюю оболочку, которая наследует значения переменной среды от родительской оболочки (которые только что были установлены).

Ашиш Садхвани
источник