问题描述
假设我们有一个 jenkins 管道,在某个时候我们执行一个 maven 参数化构建:
sh "mvn clean install -DparameterType=${parameter}"
如果参数的值包含空格怎么办?例如,值是“测试参数”。
在 IDE 上运行时,这当然有效:
mvn clean install -DparameterType="test param"
但是如果我们在管道内部做类似的事情,比如
sh "mvn clean install -DparameterType=\"${parameter}\""
或
sh "mvn clean install -DparameterType=""${parameter}""
它没有,参数像传递一样
-DparameterType=test param
这对 maven 不利。请问有什么想法吗?
解决方法
您可以尝试使用:
sh """
mvn clean install -DparameterType=\"${parameter}\"
"""