我知道如何做到这一点有一些问题,但是我仍然无法让我的方案在将变量包裹在双引号中时工作。在bash脚本中使用环境变量Jenkins
我正在执行一个curl请求,以便在Jenkins中获得一个有效的面包屑,这样我就可以通过POST请求执行一项工作。
所以此刻我得到这样Password Invalid
作为变量${USER_TOKEN}
响应无法识别
echo "The USER TOKEN is " ${USER_TOKEN} # This outputs 123456789 for example
CRUMB=$(curl -s 'http://jenkins:${USER_TOKEN}@localhost:8080/crumbIssuer/api/xml?xpath=concat(//crumbRequestField, ":",//crumb)')
如果我硬编码USER_TOKEN
那么这将工作,但我显然是想避免这种情况。
如何执行此curl
命令并传入USER_TOKEN
?
更新
如果我环绕${USER_TOKEN}
加上双引号我仍然得到同样的错误。
CRUMB=$(curl -s 'http://jenkins:"${USER_TOKEN}"@localhost:8080/crumbIssuer/api/xml?xpath=concat(//crumbRequestField, ":",//crumb)')
如果我环绕curl
要求用双引号,我得到
Invalid Xpath expression, contact(//crumbRequestField,:,//crumb)
Unexpected ':'
为什么你不能双引号? 'curl -s'http:// jenkins:'“$ {USER_TOKEN}”'@ localhost'? – 123