如何在詹金斯管道中分割多行shell命令?

时间:2019-04-26 16:32:36

标签: groovy jenkins-pipeline

我在Jenkins管道中执行以下命令,并获得后续响应

$ aws s3 ls s3://my.bucket.com --recursive
2018-11-21 12:50:21        124 404.json
2018-11-13 08:34:57          0 i18n/8ac2db8f3f0cef55013f0f5c45115ec2/
2018-11-15 03:09:38         85 i18n/8ac2db8f3f0cef55013f0f5c45115ec2/en_US.json
2018-11-29 08:34:44        106 i18n/8ac2db8f3f0cef55013f0f5c45115ec2/ru.json
2018-11-13 08:34:36          0 i18n/99d43531cf924378a36f2da9d4e9de0a/
2019-04-01 09:47:36        929 i18n/99d43531cf924378a36f2da9d4e9de0a/en_US.json

如何获取每一行,以便最终从尝试过的每一行获取文件

    def files = sh(script: "aws s3 ls s3://my.bucket.com --recursive",
                   returnStdout: true).split('/n')
    println files.size()

但这不会给我几行,因为我得到的文件大小为1而不是6(六行)

谢谢。

1 个答案:

答案 0 :(得分:1)

这可以解决问题

def files = sh(script: "aws s3 ls s3://my.bucket.com --recursive",
               returnStdout: true).readLines()