2013-10-08 5 views
0

Я пытаюсь запустить команду unzip shell из Groovy.Выполнение команды unzip из Groovy

Я запускаю команду

"unzip ~/Documents/myFile.txt.zip -d ~/Documents/".execute() 

, но это не работает. Когда я копирую точную команду в терминал, она работает. Как я могу сделать это от groovy?

ответ

1

В отношении Groovy нет ~; используйте фактический путь.

groovy:000> p = "ls -CF /Users/Dave".execute() 
===> [email protected] 
groovy:000> p.waitFor() 
===> 0 
groovy:000> p.in.text 
===> Desktop/  Movies/   bin/ 
Documents/  Music/   node_modules/ 
Downloads/  Pictures/ 
Dropbox/  Public/  
Library/  ScreenshotOnFail/ 

Вы всегда можете использовать System.getProperty("user.home"), например,

p = "ls -CF ${System.getProperty('user.home')}".execute() 
+0

Простое решение, которое я стучал головой на некоторое время. Благодаря! –

+0

@CaseyPatton Обратите внимание, что 'p.err.text' покажет вам сообщение об ошибке относительно неизвестного каталога. –

Смежные вопросы