【问题标题】:For loop in Jenkins Pipeline詹金斯管道中的for循环
【发布时间】:2020-12-31 15:16:15
【问题描述】:

我坚持使用管道中的 for 循环条件

pipeline {
agent any
stages{     
    stage ('Showing Working Space') {
        when {
            anyOf {
                environment name: 'Test', value: 'ALL'
                environment name: 'Test', value: 'IMAGE'
            }               
        }           
         steps {
             sh "echo Display ${Var1}"
             script{
         sh 'for service in (echo "$Var1"|sed "s/,/ /g");do echo $service; done'
            }
          }
         }
    }
    }

在意外标记 `('" 附近出现类似“语法错误”的错误

Var1 = 有多个值

需要执行“For循环”将值传递给另一个脚本 请帮忙解决这个问题

【问题讨论】:

  • in (echo -> in $(echo
  • 多么怀念...谢谢..它有效

标签: bash shell jenkins


【解决方案1】:

我相信你想要的是

pipeline {
    agent any
    stages {
        stage('Showing Working Space') {
            when {
                anyOf {
                    environment name: 'Test', value: 'ALL'
                    environment name: 'Test', value: 'IMAGE'
                }               
            }           
            steps {
                sh "echo Display ${Var1}"
                script {
                    sh 'for service in $(echo "$Var1"|sed "s/,/ /g"); do echo $service; done'
                }
            }
        }
    }
}

实质上,将service in (echo 替换为service in $(echo(注意$)。

【讨论】: