Я застрял, пытаясь запустить командную команду оболочки из скрипта Groovy. Это была одна из тех команд, где вы разделяете «& &», так что вторая команда никогда не запускается, если 1-й из них не работает. По какой-то причине я не мог заставить его работать. Я использую:Запустите команду составной оболочки из Java/Groovy
println "custom-cmd -a https://someurl/path && other-cmd -f parameter".execute([], new File('/some/dir')).text
Оболочка хранится искажая команду метание ошибки, такие как «Изготовленная ЦМД -f недопустимый параметр» Это было похоже на то игнорировал «& &» между ними. Я тоже пытался использовать полуточку, но не повезло. Я попытался использовать прямые Java-API Runtime.getRuntime(). Exec() и разбить команду на массив. Я попробовал обернуть команду в одинарных кавычках и присвоить ей/bin/sh -c, но ничего не работает.
Как выполнить команду командной оболочки с Java? Я знаю, что делал это в прошлом, но сегодня я не могу понять.
Возможно, вам нужно избежать &&. –
Возможный дубликат [как правильно вызвать команды оболочки из правильного набора] (http://stackoverflow.com/questions/12512919/how-to-call-shell-commands-from-groovy-correctly). вы не можете использовать «shellism», как && <| как команды. используйте '-c' и передайте его как _one_ param (проще всего сделать строковый массив, если цитата становится сложной) – cfrick