diff --git a/start.sh b/start.sh index 9fa8ed2c..d9a775f8 100644 --- a/start.sh +++ b/start.sh @@ -7,12 +7,14 @@ export VERSION=$(cat /app/version) ENV_FILE="/app/.env" -# 读取 .env 文件并导出环境变量,跳过已存在的环境变量 -grep -v -e '^#' -e '^$' "$ENV_FILE" | while read -r line; do - key=$(echo "$line" | cut -d '=' -f 1) - if [ -z "${!key+x}" ]; then - # 导出整个键值对 - export "$line" +grep -v -e '^#' -e '^$' "$ENV_FILE" | while IFS='=' read -r key value; do + if [ -z "$key" ] || [ -z "$value" ]; then + continue + fi + + if ! declare -p "$key" &>/dev/null; then + echo "Setting $key=$value" + export "$key=$value" fi done