From c1b7e42e27dab6272fb883085565209cb571ced4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=85=8E=E9=A5=BC=E6=9E=9C=E5=AD=90=E5=8D=B7=E9=B2=A8?= =?UTF-8?q?=E9=B1=BC=E8=BE=A3=E6=A4=92?= Date: Thu, 29 May 2025 17:08:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20Cursor=20=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E6=B8=85=E7=90=86=E5=87=BD=E6=95=B0=E4=BB=A5?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E4=B8=8D=E5=BF=85=E8=A6=81=E7=9A=84=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=92=8C=E6=96=87=E4=BB=B6=E5=A4=B9=EF=BC=8C=E6=8F=90?= =?UTF-8?q?=E5=8D=87=E8=84=9A=E6=9C=AC=E7=9A=84=E7=A8=B3=E5=AE=9A=E6=80=A7?= =?UTF-8?q?=E5=92=8C=E7=94=A8=E6=88=B7=E4=BD=93=E9=AA=8C=E3=80=82=E8=AF=A5?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E5=9C=A8=20Linux=20=E5=92=8C=20macOS=20?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E4=B8=8B=E5=9D=87=E8=BF=9B=E8=A1=8C=E4=BA=86?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=EF=BC=8C=E7=A1=AE=E4=BF=9D=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E7=9A=84=E6=B8=85=E7=90=86=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E8=83=BD=E5=A4=9F=E9=A1=BA=E5=88=A9=E5=AE=8C=E6=88=90=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/run/cursor_linux_id_modifier.sh | 64 +++++++++++++++++++++++++ scripts/run/cursor_mac_id_modifier.sh | 64 +++++++++++++++++++++++++ 2 files changed, 128 insertions(+) diff --git a/scripts/run/cursor_linux_id_modifier.sh b/scripts/run/cursor_linux_id_modifier.sh index 26494d6..3ba62e7 100755 --- a/scripts/run/cursor_linux_id_modifier.sh +++ b/scripts/run/cursor_linux_id_modifier.sh @@ -1084,6 +1084,67 @@ select_menu_option() { done } +# 新增 Cursor 初始化清理函数 +cursor_initialize_cleanup() { + log_info "正在执行 Cursor 初始化清理..." + # CURSOR_CONFIG_DIR 在脚本全局已定义: $HOME/.config/Cursor + local USER_CONFIG_BASE_PATH="$CURSOR_CONFIG_DIR/User" + + log_debug "用户配置基础路径: $USER_CONFIG_BASE_PATH" + + local files_to_delete=( + "$USER_CONFIG_BASE_PATH/globalStorage/state.vscdb" + "$USER_CONFIG_BASE_PATH/globalStorage/state.vscdb.backup" + ) + + local folder_to_clean_contents="$USER_CONFIG_BASE_PATH/History" + local folder_to_delete_completely="$USER_CONFIG_BASE_PATH/workspaceStorage" + + # 删除指定文件 + for file_path in "${files_to_delete[@]}"; do + log_debug "检查文件: $file_path" + if [ -f "$file_path" ]; then + if rm -f "$file_path"; then + log_info "已删除文件: $file_path" + else + log_error "删除文件 $file_path 失败" + fi + else + log_warn "文件不存在,跳过删除: $file_path" + fi + done + + # 清空指定文件夹内容 + log_debug "检查待清空文件夹: $folder_to_clean_contents" + if [ -d "$folder_to_clean_contents" ]; then + if find "$folder_to_clean_contents" -mindepth 1 -delete; then + log_info "已清空文件夹内容: $folder_to_clean_contents" + else + if [ -z "$(ls -A "$folder_to_clean_contents")" ]; then + log_info "文件夹 $folder_to_clean_contents 现在为空。" + else + log_error "清空文件夹 $folder_to_clean_contents 内容失败 (部分或全部)。请检查权限或手动删除。" + fi + fi + else + log_warn "文件夹不存在,跳过清空: $folder_to_clean_contents" + fi + + # 删除指定文件夹及其内容 + log_debug "检查待删除文件夹: $folder_to_delete_completely" + if [ -d "$folder_to_delete_completely" ]; then + if rm -rf "$folder_to_delete_completely"; then + log_info "已删除文件夹: $folder_to_delete_completely" + else + log_error "删除文件夹 $folder_to_delete_completely 失败" + fi + else + log_warn "文件夹不存在,跳过删除: $folder_to_delete_completely" + fi + + log_info "Cursor 初始化清理完成。" +} + # 主函数 main() { # 初始化日志文件 @@ -1156,6 +1217,9 @@ main() { exit 1 fi + # 执行 Cursor 初始化清理 + cursor_initialize_cleanup + # 备份并处理配置文件 (机器码重置选项) if ! generate_new_config; then log_error "处理配置文件时出错,脚本中止。" diff --git a/scripts/run/cursor_mac_id_modifier.sh b/scripts/run/cursor_mac_id_modifier.sh index 3a1e8a4..9f8b8e4 100644 --- a/scripts/run/cursor_mac_id_modifier.sh +++ b/scripts/run/cursor_mac_id_modifier.sh @@ -50,6 +50,66 @@ log_cmd_output() { echo "" >> "$LOG_FILE" } +# 新增 Cursor 初始化清理函数 +cursor_initialize_cleanup() { + log_info "正在执行 Cursor 初始化清理..." + local BASE_PATH="$HOME/Library/Application Support/Cursor/User" + + log_debug "基础路径: $BASE_PATH" + + local files_to_delete=( + "$BASE_PATH/globalStorage/state.vscdb" + "$BASE_PATH/globalStorage/state.vscdb.backup" + ) + + local folder_to_clean_contents="$BASE_PATH/History" + local folder_to_delete_completely="$BASE_PATH/workspaceStorage" + + # 删除指定文件 + for file_path in "${files_to_delete[@]}"; do + log_debug "检查文件: $file_path" + if [ -f "$file_path" ]; then + if rm -f "$file_path"; then + log_info "已删除文件: $file_path" + else + log_error "删除文件 $file_path 失败" + fi + else + log_warn "文件不存在,跳过删除: $file_path" + fi + done + + # 清空指定文件夹内容 + log_debug "检查待清空文件夹: $folder_to_clean_contents" + if [ -d "$folder_to_clean_contents" ]; then + if find "$folder_to_clean_contents" -mindepth 1 -delete; then + log_info "已清空文件夹内容: $folder_to_clean_contents" + else + if [ -z "$(ls -A "$folder_to_clean_contents")" ]; then + log_info "文件夹 $folder_to_clean_contents 现在为空。" # 通常find成功即代表操作完成 + else + log_error "清空文件夹 $folder_to_clean_contents 内容失败 (部分或全部)。请检查权限或手动删除。" + fi + fi + else + log_warn "文件夹不存在,跳过清空: $folder_to_clean_contents" + fi + + # 删除指定文件夹及其内容 + log_debug "检查待删除文件夹: $folder_to_delete_completely" + if [ -d "$folder_to_delete_completely" ]; then + if rm -rf "$folder_to_delete_completely"; then + log_info "已删除文件夹: $folder_to_delete_completely" + else + log_error "删除文件夹 $folder_to_delete_completely 失败" + fi + else + log_warn "文件夹不存在,跳过删除: $folder_to_delete_completely" + fi + + log_info "Cursor 初始化清理完成。" +} + # 获取当前用户 get_current_user() { if [ "$EUID" -eq 0 ]; then @@ -1238,6 +1298,10 @@ main() { # 执行主要功能 check_permissions check_and_kill_cursor + + # 执行 Cursor 初始化清理 + cursor_initialize_cleanup + backup_config # 新增:默认执行系统 MAC 地址修改