Skip to content

vincent119/awsRegionChange

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AWS Region Change

一個互動式的 AWS Profile 與 Region 切換工具,使用 Go 和 Bubble Tea 框架開發。

功能特色

  • 🎨 美觀的 TUI 介面:使用 Bubble Tea 和 Lipgloss 打造的終端使用者介面
  • 快速切換:透過鍵盤上下鍵快速選擇 AWS Profile
  • 📍 自動定位:啟動時自動定位到當前使用的 Profile
  • 🔄 環境變數設定:自動產生 export 指令並寫入環境檔案
  • 🎯 視覺標示:清楚標示當前使用的 Profile

安裝

從原始碼編譯

git clone <repository-url>
cd awsRegionChange
go build -o awsRegion

安裝到系統路徑

go install

或手動複製編譯後的執行檔到 PATH 中的目錄:

sudo cp awsRegion /usr/local/bin/

使用方式

基本用法

直接執行程式:

awsRegion

Shell 函數整合(推薦)

為了讓環境變數在當前 shell 中生效,建議在你的 shell 設定檔中加入以下函數:

Zsh (/.zshrc) / Bash (/.bashrc)

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 後,程式會:

  1. 將 export 指令寫入環境檔案
  2. 在 stdout 輸出 export 指令(方便手動複製)
  3. 設定以下環境變數:
    • AWS_PROFILE
    • AWS_REGION
    • AWS_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

依賴套件

授權

MIT License

作者

Vincent

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published