2013-03-08 118 views
0

我想用下面的代码来启动Apache,Tomcat的,CATALINA_OPTS调试选项

#!/bin/bash 
DUMPSPATH='/home/tomcat/dumps' 
export CATALINA_OPTS='-Djava.awt.headless=true -Dfile.encoding=UTF-8 -XX:ErrorFile=$DUMPSPATH/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$DUMPSPATH' 
/opt/apache-tomcat-6.0.36/bin/startup.sh 

只是想检查是否DUMPSPATH变量正确使用出口陈述或应DUMPSPATH在大括号或括号括起来?

回答

2

如果你想DUMPSPATH的CATALINA_OPTS的内容(见Variable Substitution),你必须使用双引号不是单引号:

export CATALINA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -XX:ErrorFile=$DUMPSPATH/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$DUMPSPATH" 
0

只要$DUMPSPATH后面跟一个字符(如_),它是参数名称的合法字符,那么您就可以按原样使用。也就是说,使用${DUMPSPATH}永远不会出错,所以请放心使用它以保证安全。

+0

感谢您的回复;我现在通过在出口行中使用“”而不是“'来工作。 – SGL 2013-03-08 16:20:12

+0

我甚至没有看到你正在使用哪些引号:) – chepner 2013-03-08 16:32:49