Windows PowerShell下AWS CLI默认配置文件切换失败求助
Windows PowerShell下AWS CLI默认配置文件切换解决方案
核心问题
你用的set/setx是CMD的环境变量设置命令,PowerShell不兼容,这就是切换失败的直接原因。
临时切换(仅当前PowerShell会话生效)
直接在PowerShell里执行:
$env:AWS_DEFAULT_PROFILE = "butterfly"
执行完立刻运行aws configure list,就能看到默认配置文件已经切换为butterfly,此时aws iot list-things也能正常执行。
永久切换(所有新PowerShell会话生效)
方法1:设置用户级系统环境变量
运行这条命令:
[Environment]::SetEnvironmentVariable("AWS_DEFAULT_PROFILE", "butterfly", "User")
执行完关闭当前PowerShell窗口,重新打开新窗口,用aws configure list验证即可。
方法2:修改PowerShell启动配置文件
- 先检查配置文件是否存在:
Test-Path $PROFILE - 如果返回
False,创建配置文件:New-Item -Path $PROFILE -ItemType File -Force - 打开配置文件编辑:
notepad $PROFILE - 在文件里添加一行:
$env:AWS_DEFAULT_PROFILE = "butterfly" - 保存后重启PowerShell就生效了。
Mongoose OS配置补充
如果设备配置环节还是卡壳,有两个可选方案:
- 直接在设备的
mos.yml里硬编码butterfly的配置信息:aws: access_key_id: "你的butterfly账号AK" secret_access_key: "你的butterfly账号SK" region: "对应AWS区域" - 或者运行设备配置命令时显式指定profile:
mos aws-iot-setup --aws-profile butterfly
内容的提问来源于stack exchange,提问作者Paul Carlson
相关产品推荐
相关产品推荐

