Выполнить сценарий оболочки с аргументами, используя отличный сценарий

Я пытаюсь выполнить сценарий оболочки, используя Groovy. Мой сценарий оболочки принимает аргументы, если я их жестко закодирую и выполню, он будет работать нормально.

Пожалуйста, помогите узнать, как передать эти аргументы из переменных и выполнить сценарий.

def cmd= [ 'sh', '-c', 'cd <<Script Path>>;sh <<script_name>> <arg1> <arg2> <arg3> <arg4>;exit'].execute()

Если я запустил вышеуказанный cmd, скрипт не будет выполнен.

Спасибо Раам

1
0
393
1

Ответы 1

Не зная деталей задействованных команд, в этом вопросе фактически отсутствует фактическая ошибка. Вот как их получить:

groovy:000> cmd.waitFor() // exitValue()
===> 1
groovy:000> cmd.errorStream.readLines()
...

Предположение: неправильный каталог, неправильное цитирование аргументов, неправильный состав фактической строки cmd

def result = ['sh', '-c', 'cd /opt/local/xxxx/scripts;./export -export -out /opt/local/user/abc.xml -app abc / xyz -user user - pw pwd -domain TEST; exit '] .execute () result.waitFor () println result.text Если он запустил эту команду, он работает нормально, но как передать эти аргументы из любых переменных.

Raam C 26.10.2018 18:07

например используйте "... -pwd '${thepassword}' ..."; или любые другие средства, которые Groovy предоставляет для объединения строки.

cfrick 27.10.2018 09:06

Другие вопросы по теме