bash_go_service/uninstall_product_id_genera...

68 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
set -e
# 必须以 root 运行
if [ "$(id -u)" -ne 0 ]; then
echo "❌ 请以 root 用户执行此脚本"
exit 1
fi
SERVICE_NAME="bash-product-id.service"
UUID_DIR="/etc/bash_product"
UUID_FILE="$UUID_DIR/BASH_PRODUCT_ID"
SYSTEMD_SERVICE_FILE="/etc/systemd/system/$SERVICE_NAME"
echo "🔧 开始卸载 BASH_PRODUCT_ID 服务..."
# 停止并禁用 systemd 服务
if systemctl is-active "$SERVICE_NAME" &>/dev/null; then
echo "停止 systemd 服务..."
systemctl stop "$SERVICE_NAME"
fi
if systemctl is-enabled "$SERVICE_NAME" &>/dev/null; then
echo "禁用 systemd 服务..."
systemctl disable "$SERVICE_NAME"
fi
# 删除 systemd 服务文件
if [ -f "$SYSTEMD_SERVICE_FILE" ]; then
echo "删除 systemd 服务文件..."
rm -f "$SYSTEMD_SERVICE_FILE"
fi
# 删除 UUID 目录及文件
if [ -d "$UUID_DIR" ]; then
echo "删除 UUID 目录及文件..."
rm -rf "$UUID_DIR"
fi
# 清理 PAM 环境变量配置
echo "清理 PAM 环境变量配置..."
sed -i '/BASH_PRODUCT_ID/d' /etc/security/pam_env.conf
# 清理全局环境变量配置
echo "清理全局环境变量配置..."
sed -i '/BASH_PRODUCT_ID/d' /etc/environment
# 删除 profile.d 脚本
if [ -f "/etc/profile.d/bash-product-id.sh" ]; then
echo "删除 profile.d 脚本..."
rm -f "/etc/profile.d/bash-product-id.sh"
fi
# 清理 bash.bashrc 配置
echo "清理 bash.bashrc 配置..."
# 删除包含 BASH_PRODUCT_ID 的行及其前后的空行
sed -i '/# BASH_PRODUCT_ID/,/^fi$/d' /etc/bash.bashrc
sed -i '/^$/N;/^\n$/D' /etc/bash.bashrc
# 重新加载 systemd 配置
systemctl daemon-reload
echo ""
echo "✅ 卸载完成!"
echo "所有 BASH_PRODUCT_ID 相关配置已移除。"
echo "重新登录终端后环境变量将被清除。"