我有一个启动Maven exec的shell脚本:java进程 -
exec mvn exec:java -Dexec.mainClass=... -Dexec.args="$*"
现在很遗憾,如果我跑
./myMagicShellScript arg1 "arg 2"
单个字符串arg 2
并没有像我想的那样通过单个参数。
有关如何正确逃避/传递事物的任何想法(最好以干净的方式)?
答案 0 :(得分:6)
我看了mvn
script并做了一些测试。这就是我想出的:
尝试将脚本更改为:
args=(${@// /\\ })
exec mvn exec:java -Dexec.mainClass=... -Dexec.args="${args[*]}"
使用反斜杠更改每个数组元素内的所有空格。