| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #!/bin/bash
- # ==========================================
- # QingJian Client 卸载清理脚本 (Linux)
- # ==========================================
- # [安全检查] 防止 $HOME 变量为空导致灾难性删除
- if [ -z "$HOME" ]; then
- echo "[错误] \$HOME 环境变量未定义,终止执行!"
- exit 1
- fi
- # 1. 强制关闭应用进程
- echo "[1/2] 正在终止 qingjian-client 进程..."
- pkill -9 -f "qingjian-client" 2>/dev/null
- pkill_exit_code=$?
- if [ $pkill_exit_code -eq 0 ]; then
- echo " 进程已终止。"
- # 等待进程完全释放文件句柄
- sleep 2
- elif [ $pkill_exit_code -eq 1 ]; then
- echo " 未发现运行中的进程或已提前退出。"
- else
- echo " [警告] 尝试终止进程时发生未知错误(错误码: $pkill_exit_code)。"
- fi
- # 2. 递归删除自定义数据目录
- echo "[2/2] 正在清理用户数据目录..."
- # 定义需要清理的目录列表
- DIRS=(
- "$HOME/.config/qingjian-client"
- "$HOME/.local/share/QingJian"
- "$HOME/.qingjian-client"
- )
- # 遍历并删除目录
- for dir in "${DIRS[@]}"; do
- if [ -d "$dir" ]; then
- rm -rf "$dir"
- if [ $? -eq 0 ]; then
- echo " 已删除: $dir"
- else
- echo " [失败] 无法删除: $dir (可能存在权限问题或文件被占用)"
- fi
- else
- echo " 跳过(不存在): $dir"
- fi
- done
- echo ""
- echo "✔ 清理完成!"
|