将带空格分隔符的字符串转换为数组。然后像输出字符串一样输出这个数组

问题描述 投票:0回答:1

我有一个问题,我已经在bashpowershell中解决了,我需要在一个变量中存储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
1个回答
0
投票

很简单.我用了:

java "'%JAVA_ARGS%' -jar my.jar"

需要这样做。

java "%JAVA_ARGS% -jar my.jar"

只是不用。

'%JAVA_ARGS%'

使用:

%JAVA_ARGS%
© www.soinside.com 2019 - 2024. All rights reserved.