转义双引号 Jenkinsfile 的问题
Problem with escaping double quote Jenkinsfile
我开始使用 Jenkinsfile 构建 Jenkins 作业。在我的步骤之一中,我创建了一个变量。这个变量回显符合预期,现在我尝试将这个变量插入到一个新函数中并需要转义,一切看起来都很好,直到我在新行而不是末尾看到最后一个双引号。
创建我的变量的代码行是:
gitTag = sh(returnStdout: true, script: "git describe --tags--always")
使用该变量的行代码:
sh "echo WEBSERVICE_VERSION=\"$gitTag\" > ${WORKSPACE}/webservice/src/webservice_version.py"
预期输出 WEBSERVICE_VERSION="$gitTag"
,但我看到的输出是 WEBSERVICE_VERSION=$gitTag
。
我是不是转义出错了?
这应该适合你
node('master'){
def gitTag="mytag"
sh "touch webservice_version.py"
sh "echo \\"${gitTag}\\" > webservice_version.py"
sh "cat webservice_version.py"
}
我开始使用 Jenkinsfile 构建 Jenkins 作业。在我的步骤之一中,我创建了一个变量。这个变量回显符合预期,现在我尝试将这个变量插入到一个新函数中并需要转义,一切看起来都很好,直到我在新行而不是末尾看到最后一个双引号。
创建我的变量的代码行是:
gitTag = sh(returnStdout: true, script: "git describe --tags--always")
使用该变量的行代码:
sh "echo WEBSERVICE_VERSION=\"$gitTag\" > ${WORKSPACE}/webservice/src/webservice_version.py"
预期输出 WEBSERVICE_VERSION="$gitTag"
,但我看到的输出是 WEBSERVICE_VERSION=$gitTag
。
我是不是转义出错了?
这应该适合你
node('master'){
def gitTag="mytag"
sh "touch webservice_version.py"
sh "echo \\"${gitTag}\\" > webservice_version.py"
sh "cat webservice_version.py"
}