Files
L2GI/Loonggpu.sh
2025-04-21 18:15:38 +08:00

45 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# 保存当前工作目录
original_dir=$(pwd)
# 检查是否为root用户,若非则使用sudo重新执行脚本
if [[ $EUID -ne 0 ]]; then
echo "检测到非root权限,正在通过sudo提升权限..."
exec sudo -E bash -c "cd \"$original_dir\" && \"$0\""
fi
# 确保切换到原目录(防止路径错误)
cd "$original_dir" || {
echo "无法切换至目录:$original_dir"
exit 1
}
# 启用nullglob以防止无匹配时的字面量输出
shopt -s nullglob
deb_packages=( ./*.deb )
shopt -u nullglob
echo "更新包管理器..."
if [ -x "$(command -v oma)" ]; then
sudo oma refresh
elif [ -x "$(command -v apt)" ]; then
sudo apt-get update
elif [ -x "$(command -v yum)" ]; then
sudo yum update
fi
echo "包管理器更新完毕"
# 检查是否存在.deb文件
if [[ ${#deb_packages[@]} -eq 0 ]]; then
echo "错误:当前目录下未找到任何.deb文件。"
exit 1
fi
echo "开始安装以下.deb包:"
printf ' - %s\n' "${deb_packages[@]##*/}" # 仅显示文件名,去除路径
# 使用apt安装所有包(自动处理依赖)
apt install --yes ./**.deb