带引号的Groovy执行命令

时间:2017-07-31 11:56:16

标签: jenkins groovy

寻找一种如何在groovy中运行简单命令(在jenkins中使用)的方法。

我的代码是:

"grep 'text ' /tmp/test.txt".execute()

我想用文本(以及后面的空格)grep所有行。

但结果我总是只得到“文本”的grep(没有空格)。实际上,由于某些原因,groovy丢掉了我的报价。

2 个答案:

答案 0 :(得分:2)

Groovy不能很好地处理报价。相反,您可以使用数组形式:

['grep', 'text ', '/tmp/test.txt'].execute().text

答案 1 :(得分:0)

尝试以下方法:

def res = ['grep', 'text ', 'test.txt'].execute( null, new File( '/tmp/' ) ).text