Je dois définir une variable d'environnement séparée par un point dans mon script de démarrage Tomcat. Par exemple
Host.name=localhost
Je sais que Shell n'accepte pas les variables séparées par des points. Y at-il un travail autour ?
J'ai trouvé quelque part que nous pouvons utiliser la variable env mais cela ne semble pas fonctionner. j'ai utilisé
env Host.name=localhost
Quelqu'un peut-il m'aider s'il-vous-plaît ?
Merci beaucoup pour votre réponse AB. Cependant, j'ai trouvé une bien meilleure solution. J'ai simplement ajouté la variable CATALINA_OPTS
de Tomcat dans le fichier /usr/share/Tomcat7/bin/setenv.sh
:
export CATALINA_OPTS="-Dhost.name=localhost"
Cela a fonctionné exactement comme je voulais.
Je ne comprends pas pourquoi cela est nécessaire pour Tomcat. Toutes les configurations sont par exemple: /etc/Tomcat7/server.xml
. Je travaille depuis plusieurs années avec Tomcat, mais je n’ai jamais eu besoin de ce type de configuration. Quoi qu'il en soit ici est votre réponse.
TL; DR
env "Host.name=localhost"
Test avec:
env "Host.name=localhost" Perl -le 'print $ENV{"Host.name"}'
ou avec Java:
Créer un runnable 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));
}
}
}
et tester avec:
env "Host.name=localhost" Java -jar PrintEnv.jar | grep Host.name