#!/usr/bin/env bash set -euo pipefail # 永远从脚本所在目录运行(避免在别的目录执行导致路径错误) SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$SCRIPT_DIR" echo "🧹 X-Request 框架环境清理" echo "==========================" # 函数:加载 .env 文件中的变量 load_env_file() { local env_file=".env" if [ -f "$env_file" ]; then while IFS='=' read -r key value; do [[ "$key" =~ ^#.*$ ]] && continue [[ -z "$key" ]] && continue value=$(echo "$value" | sed 's/^["'\'']//' | sed 's/["'\'']$//') export "$key=$value" done < "$env_file" fi } # 加载环境配置 load_env_file # 检查虚拟环境是否存在 if [ ! -d "xrequest" ]; then echo "⚠️ 虚拟环境不存在,无需清理" exit 0 fi echo "📋 检测到虚拟环境: xrequest" # 询问用户确认 read -p "确定要删除虚拟环境吗?(y/N): " confirm if [[ ! "$confirm" =~ ^[Yy]$ ]]; then echo "❌ 操作已取消" exit 0 fi # 删除虚拟环境 echo "🗑️ 正在删除虚拟环境..." rm -rf xrequest if [ $? -eq 0 ]; then echo "✅ 虚拟环境已删除" else echo "❌ 虚拟环境删除失败" exit 1 fi # 询问是否清理日志 if [ -d "${LOGS_DIR:-logs}" ]; then echo "" read -p "是否也要清理日志目录?(y/N): " clean_logs if [[ "$clean_logs" =~ ^[Yy]$ ]]; then echo "🗑️ 正在清理日志目录..." rm -rf "${LOGS_DIR:-logs}" if [ $? -eq 0 ]; then echo "✅ 日志目录已清理" else echo "⚠️ 日志目录清理失败" fi fi fi # 询问是否清理 __pycache__ 和 .pyc 文件 echo "" read -p "是否清理 Python 缓存文件 (__pycache__, *.pyc)?(y/N): " clean_cache if [[ "$clean_cache" =~ ^[Yy]$ ]]; then echo "🗑️ 正在清理 Python 缓存..." find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true find . -type f -name "*.pyc" -delete 2>/dev/null || true echo "✅ Python 缓存已清理" fi echo "" echo "🎉 清理完成!" echo "" echo "📝 如需重新设置环境,请运行:" echo " ./setup.sh" echo ""