Shell 从Groovy执行解压命令
我正在尝试从Groovy中运行解压shell命令 我在执行命令Shell 从Groovy执行解压命令,shell,groovy,Shell,Groovy,我正在尝试从Groovy中运行解压shell命令 我在执行命令 "unzip ~/Documents/myFile.txt.zip -d ~/Documents/".execute() 但它不起作用。当我将确切的命令复制到终端时,它就工作了。如何从groovy做到这一点?就groovy而言,没有~;使用实际路径 groovy:000> p = "ls -CF /Users/Dave".execute() ===> java.lang.UNIXProcess@2603826d gro
"unzip ~/Documents/myFile.txt.zip -d ~/Documents/".execute()
但它不起作用。当我将确切的命令复制到终端时,它就工作了。如何从groovy做到这一点?就groovy而言,没有
~
;使用实际路径
groovy:000> p = "ls -CF /Users/Dave".execute()
===> java.lang.UNIXProcess@2603826d
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()
这是一个简单的解决方案,我已经绞尽脑汁了一段时间。谢谢@CaseyPatton注意,
p.err.text
将向您显示有关未知目录的错误消息。