繁体   English   中英

Shell 脚本 output 到 groovy 中的数组

[英]Shell script output to array in groovy

我需要将此 shell 脚本“git diff --name-only commit2 commit1”的结果 output 到 groovy 中的数组。 我该怎么做?

已经尝试创建变量

def diff = sh(script: "git diff --name-only commit2 commit1", returnStdout: true)

然后使用 Pattern 和 Matcher 处理它,但可能由于它的格式,它总是返回一个空数组。

shell 脚本的 output 类似于:

directory/file1.java
directory/file2.java

找到了一种使用 bash 的方法,但无法弄清楚如何使其适应 groovy (mapfile -t my_array <( my_command ))

如果您想将 output 作为列表获取,其中每一行都是该列表中的一个单独条目,您可以在sh步骤的 output 上调用split('\n')

def diff = sh(script: "git diff --name-only commit2 commit1", returnStdout: true).trim().split('\n')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM