我在Gitlab变量(设置> CI / CD>变量)中有一个变量名URL_DEV。我想使用$ {CI_ENVIRONMENT_NAME}获取值。 示例:echo URL _ $ {CI_ENVIRONMENT_NAME}应该提供来自Gitlab变量的值,但是它以URL_DEV的形式提供输出,但不会输出该值。
#Tried below commands
$ echo $URL_${CI_ENVIRONMENT_NAME}
output: DEV
$APP="URL_${CI_ENVIRONMENT_NAME}"
echo $APP
output: URL_DEV
$APP="URL_${CI_ENVIRONMENT_NAME}"
echo $(echo $APP)
output: URL_DEV
预期输出应为变量的值
echo $URL_${CI_ENVIRONMENT_NAME}
expected output: https://www.example.com
答案 0 :(得分:0)
您需要使用bash indirect expension。此代码段有效:
URL_DEV="https://google.com"
ENV="DEV"
SITE="URL_"$ENV
echo $SITE
URL_DEV
curl -k ${!SITE}
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="https://www.google.com/">here</A>.
</BODY></HTML>