【发布时间】:2020-08-30 06:54:48
【问题描述】:
我有一个问题,我已经在 bash/powershell 中解决了。 我需要将 java 的参数存储在一个变量中。
SET JAVA_ARGS="-Xms256m -Xmx2048m"
java %JAVA_ARGS% -jar my.jar
当我做这个的时候,我收到了
Invalid initial heap size: -Xms256m -Xmx2048m
很好,我尝试在 powershell 中解决这个问题
$JavaArgs="-Xms256m -Xmx2048m"
${JavaArgsArray}=$JavaArgs.Split(" ")
java $JavaArgsArray -jar my.jar
在 bash 中,我这样做了
java_arguments="-Xms256m -Xmx2048m"
IFS=' ' read -r -a array_java_arguments <<< "${java_arguments}"
java "${array_java_arguments [@]}" -jar my.jar
但是,我需要在cmd中有版本,如何解决这个问题?请问你能帮帮我吗 ? 我需要从变量中获取数组,并且我必须在脚本中使用这个数组。没有分隔符,就像将字符串转换为数组一样,输出应该是相同的。 例如,如果我有:
ECHO %JAVA_ARGS%
输出
-Xms256m -Xmx2048m
我必须有类似的输出:
ECHO %ARRAY_JAVA_ARGS%
【问题讨论】:
-
尝试使用不同的分隔符分隔它们,例如
;或, -
为什么要为变量分配引号?
标签: java arrays shell batch-file cmd