如何在解析的 Jenkinsfile 变量末尾去除某种形式的换行符

Joh*_*ohn 2 bash jenkins jenkins-pipeline

我想在 Jenkinsfile 的各个阶段之间传递变量,并按照人们的建议进行,通过写入文件然后解析它。

stage('1') {
  steps {
    sh "echo value > var.txt"
    script {
      VALUE = readFile('var.txt')
    }
  }
}

stage('2') {
  steps {
    sh "echo ${VALUE} && echo 'ok'"
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,我在最后得到了某种形式的换行符,${VALUE}这意味着我正在尝试执行 2 行并且&&导致舞台呕吐。我试过管道通过,tr -d '\r\n'但它似乎没有做任何事情。

小智 5

我的 Jenkins 文件也遇到了这个问题,它是一个 groovy 脚本,这帮助我摆脱了我想要使用的值末尾的 EOL / CR 字符:

VALUE = readFile('var.txt').trim()
Run Code Online (Sandbox Code Playgroud)