一個互動式的 AWS Profile 與 Region 切換工具,使用 Go 和 Bubble Tea 框架開發。
- 🎨 美觀的 TUI 介面:使用 Bubble Tea 和 Lipgloss 打造的終端使用者介面
- ⚡ 快速切換:透過鍵盤上下鍵快速選擇 AWS Profile
- 📍 自動定位:啟動時自動定位到當前使用的 Profile
- 🔄 環境變數設定:自動產生 export 指令並寫入環境檔案
- 🎯 視覺標示:清楚標示當前使用的 Profile
git clone <repository-url>
cd awsRegionChange
go build -o awsRegiongo install或手動複製編譯後的執行檔到 PATH 中的目錄:
sudo cp awsRegion /usr/local/bin/直接執行程式:
awsRegion為了讓環境變數在當前 shell 中生效,建議在你的 shell 設定檔中加入以下函數:
awsRegion() {
if ! command -v awsRegionChange &> /dev/null; then
echo "awsRegionChange not found. Please build/install it first."
return 1
fi
local env_file="${AWS_REGION_CHANGE_ENV_FILE:-$HOME/.aws/aws-region-change.env}"
awsRegionChange
if [[ -f "$env_file" ]]; then
local exports
exports=$(<"$env_file")
if [[ -n "$exports" ]]; then
eval "$exports"
else
echo "No changes to AWS profile/region."
fi
else
echo "No env file generated: $env_file"
fi
}設定完成後重新載入設定檔:
source ~/.zshrc # 或 source ~/.bashrc預設會將 export 指令寫入 ~/.aws/aws-region-change.env,你可以透過環境變數自訂路徑:
export AWS_REGION_CHANGE_ENV_FILE="$HOME/.config/aws/env"程式支援多種內建主題,可透過環境變數切換:
export AWS_REGION_CHANGE_THEME="dracula" # 可選: catppuccin, dracula, nord, gruvbox注意:在程式執行時按 t 鍵切換的主題會自動儲存到 ~/.aws/aws-region-change-pref.json,下次執行時會記住您的選擇。環境變數 AWS_REGION_CHANGE_THEME 的優先級高於儲存的偏好設定。
- catppuccin(預設)- 柔和的莫蘭迪色系
- dracula - 經典的 Dracula 配色
- nord - 清爽的北歐風配色
- gruvbox - 溫暖的復古配色
建立 ~/.aws/aws-region-change-theme.json 檔案來定義自己的主題:
{
"mytheme": {
"name": "mytheme",
"cursor_fg": "#000000",
"cursor_bg": "#00ff00",
"selected_line_fg": "#ffffff",
"selected_line_bg": "#0000ff",
"current_mark_fg": "#ff00ff",
"title_fg": "#ffff00"
}
}然後設定環境變數使用:
export AWS_REGION_CHANGE_THEME="mytheme"顏色說明:
cursor_fg/bg- 游標符號(▶)的前景/背景色selected_line_fg/bg- 選中行的前景/背景色current_mark_fg- [current] 標記的顏色title_fg- 標題文字顏色
啟動程式後,你會看到所有 AWS Profile 的列表:
- ↑/↓ 或 k/j:上下移動游標
- Enter:選擇 Profile 並套用設定
- t:切換主題(即時預覽不同配色)
- q 或 Ctrl+C:退出程式
選擇 Profile 後,程式會:
- 將 export 指令寫入環境檔案
- 在 stdout 輸出 export 指令(方便手動複製)
- 設定以下環境變數:
AWS_PROFILEAWS_REGIONAWS_DEFAULT_REGION
- Go 1.25.4 或更高版本
- AWS CLI 設定檔(
~/.aws/config)
程式會讀取 ~/.aws/config 檔案,支援標準的 AWS CLI 設定格式:
[default]
region = us-east-1
[profile dev]
region = ap-northeast-1
[profile prod]
region = us-west-2| 變數名稱 | 說明 | 預設值 |
|---|---|---|
AWS_REGION_CHANGE_ENV_FILE |
環境變數輸出檔案路徑 | ~/.aws/aws-region-change.env |
AWS_REGION_CHANGE_THEME |
主題名稱 | catppuccin |
- Bubble Tea - 終端使用者介面框架
- Lipgloss - 終端樣式美化
MIT License
Vincent