如何将 groovy 变量分配给 shell 变量,在 Jenkins 管道中出错

How to assign a groovy variable to a shell variable, getting error in Jenkins Pipeline

如何将 groovy 变量分配给 shell 变量,在 Jenkins 管道中出现错误

pipeline {
agent any
stages {
    stage ('test') {
        steps {
            script {
                sh """
                    def count = sh(script: "cat changes.txt | wc -l", returnStdout: true)
                    echo "Var is " + count
                    if (count == 1) {
                        env.INFO1=(REL-${BUILD_NUMBER})
                        echo "INFO1" + INFO1   
                    } else {
                        env.INFO1= 'condition not success'
                        echo "INFO1" + INFO1
                    }
                   """ }}}}}

Error: line 3: syntax error near unexpected token `('

您可以用以下代码替换 "sh" 块:-

def count = sh(script: "cat changes.txt | wc -l", returnStdout: true)
echo "Var is " + count
if (count == 1) {
         env.INFO1=(REL-${BUILD_NUMBER})
         echo "INFO1" + INFO1   
    } else {
         env.INFO1= 'condition not success'
         echo "INFO1" + INFO1
}