如何从使用Jenkinsfile(groovy)中的returnStdout标志true执行的批处理命令的输出中删除命令本身
我正在为我的.net项目使用Jenkins管道。我不想使用默认的版本号,所以我尝试在groovy中使用以下命令设置版本号如何从使用Jenkinsfile(groovy)中的returnStdout标志true执行的批处理命令的输出中删除命令本身,jenkins,jenkins-pipeline,cloudbees,Jenkins,Jenkins Pipeline,Cloudbees,我正在为我的.net项目使用Jenkins管道。我不想使用默认的版本号,所以我尝试在groovy中使用以下命令设置版本号 def short_hash = bat(script: 'git log --pretty=format:\'%%h\' -n 1', returnStdout: true) currentBuild.displayName = '0.0.' + "${env.BUILD_NUMBER}" +'.' + short_hash 我观察到的是short_hash的值是batc
def short_hash = bat(script: 'git log --pretty=format:\'%%h\' -n 1', returnStdout: true)
currentBuild.displayName = '0.0.' + "${env.BUILD_NUMBER}" +'.' + short_hash
我观察到的是short_hash的值是batch command和结果
jenkins文档声明“脚本
执行批处理脚本。允许多行。使用returnStdout标志时,您可能希望在其前面加@,以免命令本身包含在输出中。”
我尝试使用@,但它在执行时出错。有指针吗?您在哪里添加
@
字符?出现了哪个错误?由于@
是“不回显命令行”的cmd
前缀,并且命令是git
,因此应该是:。。。脚本:'@git…
谢谢@Stephan,成功了。我用的是@before。