我正在使用Groovy在我的Linux机器上执行命令并返回输出,但是我无法以|某种方式使用管道(我认为),或者它可能没有在等待命令完成。
有什么问题或我的代码中缺少什么?
我的调用函数:
def test()
{
String result="N"
HashMap params = IntermediateResults.get("userparams")
Map env=AppContext.get(AppCtxProperties.environmentVariables)
def fClass = new GroovyClassLoader().parseClass( new File( 'plugins/infa9/Infa9CommandExecUtil.groovy' ) )
List frows=["uname -a",
"uname -a | awk '{print\$2}'",
"uname -a | cut -d ' ' -f 2"]
List resultRows = fClass.newInstance().fetchCommandOutput( params, env, frows )
return result
}
Infa9CommandExecUtil.groovy 文件内容(更新:添加了exitVal println):
package infa9
import java.io.BufferedReader;
public class Infa9CommandExecUtil