Jenkins groovy脚本中shell脚本中的变量不存储值

watbbzwu  于 2023-10-15  发布在  Jenkins
关注(0)|答案(1)|浏览(135)

我目前正在使用Groovy脚本配置Jenkins管道。
在Groovy脚本中,在其中一个阶段中,我执行了一个Shell脚本,如下所示:

pipeline {
parameters {
   
}

agent {
    docker {
    
    }
}

stages {
    stage('abc') {
        steps {
            script {
                sh '''#!/bin/bash -x
                currentYear = `date +"%Y"`
                echo ${currentYear}
                '''
            }
        }
        
    }
}
}

日期计算工作正常。但是echo命令没有显示任何内容。任何进一步的使用这个变量都会产生一个空白。
有没有人能帮助我理解为什么这个变量没有任何值?

6tqwzwtp

6tqwzwtp1#

试试这个:

script{

    result=sh(script:'''
    currentYear = `date +"%Y"`
    echo $currentYear

     ''',returnStdout:true).trim()
   }

或者在你的代码中试试这个:

script {
            sh '''#!/bin/bash -x
            currentYear = `date +"%Y"`
            echo $currentYear
            '''
        }

相关问题