我可以使用&&燃气轮机;在执行shell命令的groovy脚本中?

我可以使用&&燃气轮机;在执行shell命令的groovy脚本中?,shell,groovy,scripting,Shell,Groovy,Scripting,我可以在执行shell命令的groovy脚本中使用&>吗?i、 e /someDir/myScripts/stop.sh $NAME & > /someDir/something/${NAME}/logs/stop.log 威尔 '/someDir/myScripts/stop.sh $NAME & > /someDir/something/${NAME}/logs/stop.log'.execute() 工作还是我需要做一些复杂的事情 cmd = "/someD

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

/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文件中实现


编辑

该名称在我的groovy程序中定义 (还想知道我是否需要路径) 程序只是尝试使用给定的stop.sh脚本停止某些内容
(同时停止该程序的日志)

是的,您必须调用shell来后台执行类似的任务。纯groovy解决方案是使用
consumeProcessOutputStream
运行进程:

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

是的,您必须调用shell来完成这样的任务。纯groovy解决方案是使用
consumeProcessOutputStream
运行进程:

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