如何在Unix Shell脚本中将带引号的数组元素“”传递给Java

时间:2019-02-16 08:12:32

标签: shell unix

我一直在尝试添加make和array,然后将数组传递给Java类。 但是,在将数组传递给Java时,我想确保数组元素带有双引号“”,例如下面的示例

id=1
filename="abc def.txt"  #yes, the file name has spaces in it
arr+=($id $filename)

java  -Dsun.lang.ClassLoader.allowArraySyntax=true -cp "$classpath" com.mymainclass ${arr[@]}

当前数组以:-

的形式传递
java -Dsun.lang.ClassLoader.allowArraySyntax=true -cp  "$classpath" com.mymainclass 1 '"abc' 'def.txt"'

预期结果

java -Dsun.lang.ClassLoader.allowArraySyntax=true -cp  "$classpath" com.mymainclass "1" "abc def.txt"

这可能吗?我尝试了一些技巧,但无法获得预期的结果。

0 个答案:

没有答案