gpt4 book ai didi

shell - 将 groovy 变量传递给 shell 脚本

转载 作者:行者123 更新时间:2023-12-04 13:57:27 26 4
gpt4 key购买 nike

我刚开始学习 groovy。我想在 svn copy 命令中将 svnSourcePath 和 svnDestPath 传递给 shell 脚本。但 URL 未呈现。

node {
stage 'Copy Svn code'

def svnSourcePath = "${svnBaseURL}${svnAppCode}${svnEnvDev}${SVN_DEV_PACKAGE}"
def svnDestPath = "${svnBaseURL}${svnAppCode}${svnEnvTest}${SVN_DEV_PACKAGE}"

print "DEBUG: svnSourcePath = ${svnSourcePath}"
print "DEBUG: svnDestPath = ${svnDestPath}"

withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: crendentialsIdSVN, passwordVariable: 'SVN_PWD', usernameVariable: 'SVN_USER']]) {
sh '''
svn copy $svnSourcePath $svnDestPath -m 'promote dev to test' --username $SVN_USER --password $SVN_PWD '''
}
}

输出
+ svn copy -m 'promote dev to test' --username techuser --password 'xxxyyy' 
svn: E205001: Try 'svn help' for more info
svn: E205001: Not enough arguments provided

最佳答案

在变量周围添加了单引号和加号运算符('+ 变量 +')。现在它正在工作

svn copy '''+svnSourcePath+' '+svnDestPath+''' -m 'promote dev to test' --username $SVN_USER --password $SVN_PWD '''

关于shell - 将 groovy 变量传递给 shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41553303/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com