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

Я должен установить переменную окружения, разделенную точкой, в моем скрипте запуска tomcat. Например,

host.name=localhost

Я знаю, что shell не принимает переменные, разделенные точками. Есть ли работа вокруг?

Я где-то нашел, что мы можем использовать переменную env, но, похоже, это не работает. Я использовал

env host.name=localhost

Кто-нибудь может мне помочь, пожалуйста?

2
задан 16 May 2015 в 04:07

2 ответа

Большое спасибо за Ваш AB ответа. Однако я нашел намного лучшее решение. Я просто добавил в CATALINA_OPTS переменная кота в файле /usr/share/tomcat7/bin/setenv.sh:

export CATALINA_OPTS="-Dhost.name=localhost"

Это работало точно, как я хотел.

0
ответ дан 16 May 2015 в 04:07

Я не понимаю, почему это требуется для Tomcat. Все configuratios находятся в, например: /etc/tomcat7/server.xml. Я работал в течение нескольких лет с Tomcat, но этот вид конфигурации мне никогда не было нужно. Так или иначе здесь Ваш ответ.

TL; Тест DR

env "host.name=localhost"

с:

env "host.name=localhost" perl -le 'print $ENV{"host.name"}'

или с Java:

Создают выполнимое jar

package stackoverflow;

import java.util.Map;

public class PrintEnv {
    public static void main(String[] args) {
        Map<String, String> env = System.getenv();
        for (String envName : env.keySet()) {
            System.out.println(envName + ": " + env.get(envName));
        }
    }
}

и тест с:

env "host.name=localhost" java -jar PrintEnv.jar | grep host.name
0
ответ дан 16 May 2015 в 04:07

Другие вопросы по тегам:

Похожие вопросы: