【发布时间】:2021-11-07 20:21:59
【问题描述】:
我目前正在从 dynamodb 获取一个值并将其存储为 env var,这是我存储 terraform 状态的 s3 存储桶名称,即 tf-state-$ENV。
我想将字符串中的 $ENV 替换为我在 jenkins 中为相关环境设置的另一个环境变量,例如dev、test 等,因为这是环境之间的唯一区别。
export tf_bucket=$(aws dynamodb --region eu-west-1 get-item --table-name terraform-jenkins-params --key '{"module": {"S": "compute"}}'| jq '.Item.tf_s3_bucket[]')
echo $tf_bucket
tf-state-$ENV
echo $ENV
dev
Wanted output
echo $tf_bucket
tf-state-dev
这可以使用 bash 或在 jenkins 中完成,我尽量避免使用 sed 等。
【问题讨论】:
-
你的代码不能产生你从
echo $tf_bucket得到的输出