我需要将此 shell 脚本“git diff --name-only commit2 commit1”的结果输出到 groovy 中的数组。我该怎么做?
已经尝试创建变量
def diff = sh(script: "git diff --name-only commit2 commit1", returnStdout: true)
Run Code Online (Sandbox Code Playgroud)
然后使用 Pattern 和 Matcher 进行处理,但可能由于其格式,它总是返回一个空数组。
shell 脚本的输出类似于:
directory/file1.java
directory/file2.java
Run Code Online (Sandbox Code Playgroud)
找到了一种用 bash 做到这一点的方法,但不知道如何使其适应 groovy (mapfile -t my_array < <( my_command ))
如果您想以列表形式获取输出,其中每一行都是该列表中的一个单独条目,您可以调用split('\n')该sh步骤的输出:
def diff = sh(script: "git diff --name-only commit2 commit1", returnStdout: true).trim().split('\n')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3799 次 |
| 最近记录: |