gpt4 book ai didi

bash - 在 Jenkins 的 Bash 脚本中使用环境变量

转载 作者:行者123 更新时间:2023-11-29 09:29:41 25 4
gpt4 key购买 nike

我知道有几个问题和如何执行此操作的答案,但是当我用双引号括起我的变量时,我似乎仍然无法让我的场景工作。

我正在执行 curl 请求以在 Jenkins 中获取有效的 crumb,以便我可以通过 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 ':'

最佳答案

您需要将包含双引号的字符串加双引号。这是一种方式:

CRUMB=$(curl -s "http://jenkins:${USER_TOKEN}@localhost:8080/crumbIssuer/api/xml?xpath=concat(//crumbRequestField, "'":"'",//crumb)")

关于bash - 在 Jenkins 的 Bash 脚本中使用环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39697429/

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