2013-06-04 52 views
1

我可以在执行shell命令的groovy脚本中使用&>吗?即我可以在执行shell命令的groovy脚本中使用&>吗?

/someDir/myScripts/stop.sh $NAME & > /someDir/something/${NAME}/logs/stop.log 

只会

'/someDir/myScripts/stop.sh $NAME & > /someDir/something/${NAME}/logs/stop.log'.execute() 

工作或做我需要做的事情复杂化?

cmd = "/someDir/myScripts/stop.sh $NAME & > /someDir/something/${NAME}/logs/stop.log" 
['sh', '-c', cmd].execute(); 

可能工作比.execute()更好,但我只是想知道这是否可能

如果我不能实现这一点,我相信我可以的命令调用另一个.SH在剧本,但我想知道如果我能做到这一点在.groovy作为文件


编辑

名字是我的常规程序 定义(也想千牛ow如果我需要的路径) 该程序只是试图停止使用给定的stop.sh脚本 (也停止该程序的日志)

回答

0

是的,你必须调用shell来背景的任务那。一个纯粹的常规解决方案将运行该过程与consumeProcessOutputStream

new File("/someDir/something/${NAME}/logs/stop.log").newOutputStream { log -> 
    "/someDir/myScripts/stop.sh $NAME".execute().consumeProcessOutputStream(log) 
} 
相关问题