我之前让 AI 写的这个
#!/bin/bash
# =============================================================================
# 一键恢复脚本 - SSD 数据软链接设置
# One-Click Restore Script for SSD Data Symlinks
# =============================================================================
# 使用方法 / Usage:
# chmod +x /Volumes/SSD/AppData/
restore_symlinks.sh# /Volumes/SSD/AppData/
restore_symlinks.sh# =============================================================================
set -e
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
SSD_PATH="/Volumes/SSD/AppData"
echo -e "${BLUE}========================================${NC}"
echo -e "${BLUE} SSD 数据软链接恢复脚本${NC}"
echo -e "${BLUE} 版本: 1.0 | 日期: 2026-01-05${NC}"
echo -e "${BLUE}========================================${NC}"
echo ""
if [ ! -d "$SSD_PATH" ]; then
echo -e "${RED}错误: SSD 未挂载: $SSD_PATH${NC}"
exit 1
fi
echo -e "${GREEN}✓ SSD 已检测到${NC}"
echo ""
create_symlink() {
local source="$1"
local target="$2"
local name="$3"
if [ ! -e "$source" ]; then
echo -e "${YELLOW}⚠ 跳过 $name: 数据不存在${NC}"
return
fi
if [ -e "$target" ] && [ ! -L "$target" ]; then
echo -e "${YELLOW}⚠ $name: 目标已存在,跳过${NC}"
return
fi
[ -L "$target" ] && rm "$target"
mkdir -p "$(dirname "$target")"
ln -s "$source" "$target"
echo -e "${GREEN}✓ $name${NC}"
}
echo -e "${BLUE}[1/6] Gemini${NC}"
create_symlink "$SSD_PATH/Gemini/antigravity" "$HOME/.gemini/antigravity" "Gemini Playground"
create_symlink "$SSD_PATH/Gemini/antigravity-browser-profile" "$HOME/.gemini/antigravity-browser-profile" "Browser Profile"
echo -e "${BLUE}[2/6] Microsoft Edge${NC}"
create_symlink "$SSD_PATH/MicrosoftEdge/Microsoft Edge" "$HOME/Library/Caches/Microsoft Edge" "Edge Cache"
echo -e "${BLUE}[3/6] Xcode${NC}"
mkdir -p "$HOME/Library/Developer/Xcode"
create_symlink "$SSD_PATH/Xcode/DerivedData" "$HOME/Library/Developer/Xcode/DerivedData" "DerivedData"
echo -e "${BLUE}[4/6] Quark${NC}"
create_symlink "$SSD_PATH/Quark/Data" "$HOME/Library/Application Support/Quark" "Quark"
echo -e "${BLUE}[5/6] PixPin${NC}"
create_symlink "$SSD_PATH/PixPin/Data" "$HOME/Library/Application Support/PixPin" "PixPin"
# New additions based on the provided instruction
echo -e "${BLUE}[6/6] Google${NC}"
create_symlink "$SSD_PATH/Google/Data" "$HOME/Library/Application Support/Google" "Google Data"
echo -e "${BLUE}[7/6] Microsoft Edge App Support${NC}"
create_symlink "$SSD_PATH/MicrosoftEdge/AppSupport/Data" "$HOME/Library/Application Support/Microsoft Edge" "Edge App Support Data"
echo -e "${BLUE}[8/6] Apple Wallpaper${NC}"
create_symlink "$SSD_PATH/AppleWallpaper/Data" "$HOME/Library/Application Support/com.apple.wallpaper" "Apple Wallpaper Data"
echo -e "${BLUE}[9/6] UE DDC 环境变量${NC}"
ZSHRC="$HOME/.zshrc"
if grep -q "UE_LocalDataCachePath" "$ZSHRC" 2>/dev/null; then
echo -e "${GREEN}✓ 环境变量已存在${NC}"
else
echo "" >> "$ZSHRC"
echo "# Unreal Engine DDC" >> "$ZSHRC"
echo "export UE_LocalDataCachePath=\"$SSD_PATH/UnrealEngine/DDC\"" >> "$ZSHRC"
echo "export UE_SharedDataCachePath=\"$SSD_PATH/UnrealEngine/DDC\"" >> "$ZSHRC"
echo -e "${GREEN}✓ 环境变量已添加${NC}"
fi
echo ""
echo -e "${GREEN}✅ 恢复完成! 请运行: source ~/.zshrc${NC}"