diff --git a/run_onchange_install-packages.sh b/run_onchange_install-packages.sh index e4d2604..a92fb25 100644 --- a/run_onchange_install-packages.sh +++ b/run_onchange_install-packages.sh @@ -21,9 +21,12 @@ INSTALL_COMMAND=( [dnf]="dnf install -y" ) +# 输出函数 +log() { echo -e "\033[34m$1\033[0m"; } + # 检查 sudo 权限(假设普通用户运行) if ! command -v sudo >/dev/null 2>&1; then - echo "需要 sudo 权限才能安装包。" >&2 + log "❌ 需要sudo 权限才能安装包。" exit 1 fi SUDO="sudo" @@ -33,9 +36,9 @@ install_package() { local install_cmd="$1" local package="$2" if $SUDO $install_cmd "$package"; then - echo "安装 $package: ✓ 成功" + log "✨ 安装 $package: ✓ 成功" else - echo "安装 $package: ✗ 跳过" + log "⚠️ 安装 $package: ✗ 跳过" fi } @@ -43,16 +46,16 @@ install_package() { install_packages() { local package_manager="$1" - echo "检测到 $package_manager,开始安装包..." - echo "更新包..." + log "🔍 检测到 $package_manager,开始安装包..." + log "📦 更新包..." $SUDO ${UPDATE_COMMAND[$package_manager]} - echo "开始安装包..." + log "🚀 开始安装包..." for package in $PACKAGE_LIST; do install_package "${INSTALL_COMMAND[$package_manager]}" "$package" done - echo "$package_manager 包安装完成!" + log "✅ $package_manager 包安装完成!" } # 主逻辑:检测包管理器并安装 @@ -63,6 +66,6 @@ elif command -v apt >/dev/null 2>&1; then elif command -v dnf >/dev/null 2>&1; then install_packages "dnf" else - echo "未检测到 apt / pacman / dnf,跳过安装。" >&2 + log "❌ 未检测到 apt / pacman / dnf,跳过安装。" fi