bash - 如何临时切换 AWS CLI 的配置文件?

标签 bash shell amazon-web-services command-line aws-cli

更新后的答案 (7/10/2021):对于 AWS CLI v1,执行此操作:

export AWS_DEFAULT_PROFILE=user2

对于 AWS CLI v2,以下将起作用:

export AWS_PROFILE=user2

完整问题如下:


(1.) 为 AWS CLI 成功配置第二个配置文件后,我尝试使用以下命令在我的 bash session 中将配置文件设置为 user2 但未成功:

export AWS_PROFILE=user2

... 根据此处的建议:https://docs.aws.amazon.com/cli/latest/userguide/cli-multiple-profiles.html

(2.) 以下命令有效:

aws s3 ls --profile user2

所以我知道 AWS CLI 和 user2 配置文件都可以在我的计算机上运行。

(3.) 但是,当我随后(即输入“export AWS_PROFILE=user2”后)尝试类似的操作时:

aws s3 ls

...AWS 的响应假定我想以默认用户(不是 user2)的身份查询它

(4.) 因此,我可以从命令行使用 user2 配置文件的唯一方法是继续将“--profile user2”附加到每个命令,这很乏味。

(5.)

echo $AWS_PROFILE

产量:

>> user2

,正如预期的那样。

知道这里发生了什么吗?我确定我在某个地方犯了一些愚蠢的错误。

最佳答案

对于 AWS CLI v1,最干净的解决方案是:

export AWS_DEFAULT_PROFILE=user2

之后,命令如下:

aws s3 ls

...从适当的帐户处理。

对于 AWS CLI v2,以下将起作用:

export AWS_PROFILE=user2

关于bash - 如何临时切换 AWS CLI 的配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49716583/

相关文章:

bash - 使用 tee 输出时保留颜色

regex - bash 脚本检查脚本文件扩展名并添加扩展名

bash - 奇怪的 bash 行为

amazon-web-services - Aurora 无服务器兼容版本

python - 导入 scipy.optimize 时应用程序超时

amazon-web-services - 使用云形成模板创建 DynamoDB 时遇到问题。以及如何在 YAML CF 中定义属性 Boolean、List 和 Map

macos - 如何让 Bash 的选项卡完成自动循环通过选项 OSX

java - 如何在 linux 上从 rest 服务执行 sh 文件

shell - 如何在 shell 脚本中显示进度指示器功能?

swift - 在 Swift 中终止 macOS 命令行工具的子进程