【发布时间】:2017-11-03 14:40:11
【问题描述】:
我无法从使用嵌套变量的 shell 脚本 (bash) 启动 java 程序
export MAIN_CLASS="xxxxx"
MAIN_CLASS_ARGS=("$FirstArg" "$SEC_ARG" )
CMD="java some args here ${MAIN_CLASS} ${MAIN_CLASS_ARGS[@]}"
exec $CMD
我将参数传递为
export FirstArg = hello
export SEC_ARG ="hi Jam"
但是在我的主要 java 类中,我得到了 3 个参数 hello, hi ,Jam。但我希望它只有两个。我在这里缺少的任何人都可以帮助我。
我已经检查了一些链接为
但无法修复它。
【问题讨论】:
-
代替
CMD="java some args here ${MAIN_CLASS} ${MAIN_CLASS_ARGS[@]}",试试CMD="java some args here ${MAIN_CLASS} \"${MAIN_CLASS_ARGS[@]}\"" -
@AshishSingh 不,这不能解决问题
-
@Ashish 那些转义的引号不是语法,即它们不保护内容不被分词。
标签: java shell command-line jvm-arguments