0

我试图在我的 shell 脚本中为 JVM 设置一些变量,但我不断收到“找不到命令”错误,主要是在 -Xms1024m 选项上(见下文)。

从语法上讲,我将如何设置这些。

它们目前看起来像这样:

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
4

1 回答 1

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"
于 2013-06-12T06:49:17.737 回答