Сохранение расстояния между аргументами и т. Д. При передаче в mvn exec: java - PullRequest
4 голосов
/ 26 августа 2010

У меня есть сценарий оболочки, который запускает Maven exec: процесс java -

exec mvn exec:java -Dexec.mainClass=... -Dexec.args="$*"

Теперь, к сожалению, если я запускаю

./myMagicShellScript arg1 "arg 2"

, единственная строка arg 2 не делаетэто как единый аргумент, как мне хотелось бы.

Есть мысли о том, как избежать / передать вещи должным образом (желательно чистым способом)?

1 Ответ

6 голосов
/ 26 августа 2010

Я посмотрел на mvn скрипт и провел некоторое тестирование.Вот что я придумал:

Попробуйте изменить свой скрипт так, чтобы он выглядел следующим образом:

args=(${@// /\\ })
exec mvn exec:java -Dexec.mainClass=... -Dexec.args="${args[*]}"

Это меняет все пробелы, которые находятся внутри каждого элемента массива, для экранирования с обратной косой чертой.1009 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...