我正在尝试在我的shell脚本中为JVM设置一些变量但我仍然在-Xms1024m选项中看到“Command not found”错误(见下文)。
从语法上讲,我该如何设置它们。
他们目前看起来像这样:
jvmargs=-Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.library.path="$PALANTIR_HOME/bin" -Djava.protocol.handler.pkgs=com.palantir.protocols -Dlog4j.defaultInitOverride=true -XX:+HeapDumpOnOutOfMemoryError -XX:SoftRefLRUPolicyMSPerMB=10 -XX:MaxPermSize=192m -XX:+DisableExplicitGC
server_jvmargs=-Djava.awt.headless=true -Xms1024m -Xmx1024m $jvmargs
client_jvmargs=-Xms1024m -Xmx1024m $jvmargs
client_headless_jvmargs=-Djava.awt.headless=true $client_jvmargs
dbupgrade_32_jvmargs=-Djava.awt.headless=true -Xms1280m -Xmx1280m $jvmargs
dbupgrade_64_jvmargs=-Djava.awt.headless=true -Xms2048m -Xmx2048m $jvmargs
reindex_32_jvmargs=-Djava.awt.headless=true -Xms1280m -Xmx1280m $jvmargs
reindex_64_jvmargs=-Djava.awt.headless=true -Xms2048m -Xmx2048m $jvmargs
horizon_32_jvmargs=-Djava.awt.headless=true -Xms1280m -Xmx1280m $jvmargs
horizon_64_jvmargs=-Djava.awt.headless=true -Xms2048m -Xmx2048m $jvmargs
workspace_jvmargs=-Xss320k $client_jvmargs
答案 0 :(得分:3)
始终引用包含空格的字符串:
jvmargs="-Dsun.rmi.dgc.client.gcInterval=3600000 \
-Dsun.rmi.dgc.server.gcInterval=3600000 \
-Djava.library.path=\"$PALANTIR_HOME/bin\" \
-Djava.protocol.handler.pkgs=com.palantir.protocols \
-Dlog4j.defaultInitOverride=true \
-XX:+HeapDumpOnOutOfMemoryError \
-XX:SoftRefLRUPolicyMSPerMB=10 \
-XX:MaxPermSize=192m \
-XX:+DisableExplicitGC"
echo "$jvmargs"