1

我有一个脚本,它接受命令行参数,经过一些处理后,它将这些参数发送到 java 应用程序。

其中一些参数可以被引用,我想按原样发送这些参数(在引用中)。我正在使用以下脚本:

$ARGS=""
for a in $@; do
    ARGS = ${ARGS} ${a};
done
exec $JAR $ARGS

其中$JAR包含运行 jar 的命令。
但是,如果我使用以下选项运行脚本:

script x y "a b" 

该脚本将三个参数视为xyab
我希望它将这些参数视为:xy"a b"

4

1 回答 1

2

使用数组作为参数。

$ARGS=()
for a in "$@"; do
    ARGS+=("${a}")
done
exec "$JAR" "${ARGS[@]}"
于 2012-07-23T05:19:56.983 回答