【发布时间】:2019-09-11 12:24:09
【问题描述】:
在我项目的根文件夹main.tf 旁边,我有一个名为load_env.fish 的脚本,其中包含这两行:
set -U AWS_SHARED_CREDENTIALS_FILE "~/path/to/file"
set -U AWS_PROFILE "my_profile"
我运行它,然后运行命令terraform import foo bar。它给了我Access Denied。
但是,如果我使用 bash 而不是 fish,并且设置了相同的环境变量,那么 terraform import foo bar 可以工作。
如果我这样做,我什至可以让它在鱼中工作:
- 从 bash,设置环境变量
- 从 bash 启动鱼壳
- 现在在鱼壳中,运行
terraform import foo bar
所以,
如果我使用 bash 而不是 fish,为什么它会起作用?如果从设置了正确环境变量的 bash shell 打开 fish shell,为什么它可以在 fish 中工作?
如何在fish shell 中使用terraform 而无需打开嵌套的bash 和fish shell?
【问题讨论】:
-
aws sts get-caller-identity从鱼跑时显示什么?
标签: environment-variables terraform fish terraform-provider-aws