#!/bin/bash
# 加载环境变量配置文件
# 支持从 .env 文件读取环境变量

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ENV_FILE="${SCRIPT_DIR}/.env"

# 如果 .env 文件存在，加载它
if [ -f "$ENV_FILE" ]; then
    # 读取 .env 文件，忽略注释和空行
    while IFS= read -r line || [ -n "$line" ]; do
        # 跳过注释和空行
        [[ "$line" =~ ^[[:space:]]*# ]] && continue
        [[ -z "${line// }" ]] && continue
        
        # 解析 KEY=VALUE 格式
        if [[ "$line" =~ ^[[:space:]]*([^=]+)=(.*)$ ]]; then
            key="${BASH_REMATCH[1]}"
            value="${BASH_REMATCH[2]}"
            
            # 移除 key 和 value 两端的空格
            key=$(echo "$key" | xargs)
            value=$(echo "$value" | xargs)
            
            # 移除 value 的引号（如果存在）
            value="${value#\"}"
            value="${value%\"}"
            value="${value#\'}"
            value="${value%\'}"
            
            # 如果环境变量未设置，则设置它
            if [ -z "${!key}" ]; then
                export "$key=$value"
            fi
        fi
    done < "$ENV_FILE"
fi

