我试图通过重新分配start_port从第一个父shell脚本运行2个Tomcat实例,但第二个JVM没有选择重新分配的start_port
#!/bin/bash
export CATALINA_BASE_PORT=10000
export JAVA_OPTS='-Dport.http.nonssl=$CATALINA_BASE_PORT'
./apache-tomcat-8.0.5/bin/startup.sh
sleep 5
export CATALINA_BASE_PORT=20000
export JAVA_OPTS='-Dport.http.nonssl=$CATALINA_BASE_PORT'
./apache-tomcat-8.0.5/bin/startup.sh
第一个Tomcat实例启动正常,但是第二个实例无法启动,因为它选择了与1st相同的端口,10000并且抛出了像端口10000这样的异常。请指教。感谢。
答案 0 :(得分:0)
尝试双引号。变量替换应该正常工作:
$ export CATALINA_BASE_PORT=10000
$ export JAVA_OPTS='-Dport.http.nonssl=$CATALINA_BASE_PORT'
$ echo $JAVA_OPTS
-Dport.http.nonssl=$CATALINA_BASE_PORT
$ export CATALINA_BASE_PORT=10000
$ export JAVA_OPTS="-Dport.http.nonssl=$CATALINA_BASE_PORT"
$ echo $JAVA_OPTS
-Dport.http.nonssl=10000