52 lines
1.5 KiB
Bash
52 lines
1.5 KiB
Bash
#!/usr/bin/zsh
|
|
|
|
# 路径名称: 公共/包管.zsh
|
|
# 脚本作用: 统一不同发行版中预制的不同的包管理的功能
|
|
# 当前支持的包管理器有: apt yum pacman
|
|
# 可实现的功能有 `包管_更新` `包管_安装` `包管_搜索`
|
|
# 第一作者: 寻觅(xunmiemail@vip.qq.com)
|
|
# 创建时间: 2024年2月5日11:25:00
|
|
# 使用方法: 在言灵根目录下使用`. 公共/包管.zsh`
|
|
|
|
# 启动言灵包管理模块的标识符
|
|
言灵_包管=1
|
|
|
|
# 调用当前包管理器检查和更新
|
|
# 参数 [ -n --no-update -不更 ] 携带此参数为仅检查更新
|
|
# 参数 [ -y -确认 ] 跳过包管理器更新时的二次确认
|
|
# 实例 `包管_更新 -n`; `包管_更新 -确认`
|
|
包管_更新() {
|
|
if [ -x "$(command -v oma)" ]; then
|
|
# sudo oma refresh
|
|
sudo oma update -y
|
|
elif [ -x "$(command -v apt)" ]; then
|
|
sudo apt-get update -qq
|
|
elif [ -x "$(command -v yum)" ]; then
|
|
sudo yum update
|
|
elif [ -x "$(command -v pacman)"]; then
|
|
sudo pacman -Syu
|
|
fi
|
|
}
|
|
|
|
# 调用当前包管理器的安装模块
|
|
包管_安装(){
|
|
[ -x "$(command -v $1)" ] && return 0
|
|
if [ -x "$(command -v oma)" ]; then
|
|
sudo oma install -y $1
|
|
elif [ -x "$(command -v apt)" ]; then
|
|
sudo apt -y install $1
|
|
elif [ -x "$(command -v yum)" ]; then
|
|
sudo yum install -y $1
|
|
elif [ -x "$(command -v pacman)" ]; then
|
|
sudo pacman -Sy --needed $1
|
|
else
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
# 默认会尝试使用 apt-file pkgfile 等第三方搜索工具, 未找到第三方搜索工具时尝试使用包管理器自带搜索模块
|
|
# 参数 [ -n --no-file -原版 ]
|
|
包管_搜索() {
|
|
|
|
}
|