安装脚本增加checkVersion为之后增加自动更新功能做准备;优化了部分逻辑结构;在部分软件包管理器增加了安装依赖包之前更新软件源的步骤

This commit is contained in:
tsosunchia
2022-05-23 20:26:53 +08:00
parent 919335133e
commit bcea9aa2cb

View File

@@ -52,64 +52,78 @@ installWgetPackage() {
# macOS should install wget originally. Nothing to do
echo "wget 正在安装中..."
# try apt
apt -h >/dev/null
apt-get -h >/dev/null
if [ $? -eq 0 ]; then
# 先更新一下数据源有些机器数据源比较老可能会404
apt update -y >/dev/null
apt install wget -y >/dev/null
apt-get update -y >/dev/null
apt-get install wget -y >/dev/null
fi
# try yum
yum -h >/dev/null
if [ $? -eq 0 ]; then
yum -y update >/dev/null
yum install wget -y >/dev/null
fi
# try dnf
dnf -h >/dev/null
if [ $? -eq 0 ]; then
dnf check-update >/dev/null
dnf install wget -y >/dev/null
fi
# try pacman
pacman -h >/dev/null
if [ $? -eq 0 ]; then
pacman -Sy
pacman -S wget
pacman -Sy >/dev/null
pacman -S wget >/dev/null
fi
wget -h >/dev/null
if [ $? -ne 0 ]; then
echo "wget 安装失败"
exit 1
fi
}
installJqPackage() {
# macOS should install wget originally. Nothing to do
echo "jq 正在安装中..."
# try apt
apt -h >/dev/null
apt-get -h >/dev/null
if [ $? -eq 0 ]; then
# 先更新一下数据源有些机器数据源比较老可能会404
apt update -y >/dev/null
apt install jq -y >/dev/null
apt-get update -y >/dev/null
apt-get install jq -y >/dev/null
fi
# try yum
yum -h >/dev/null
if [ $? -eq 0 ]; then
yum -y update >/dev/null
yum install jq -y >/dev/null
fi
# try dnf
dnf -h >/dev/null
if [ $? -eq 0 ]; then
dnf check-update >/dev/null
dnf install jq -y >/dev/null
fi
# try pacman
pacman -h >/dev/null
if [ $? -eq 0 ]; then
pacman -Sy
pacman -S jq
pacman -Sy >/dev/null
pacman -S jq >/dev/null
fi
jq -h >/dev/null
if [ $? -ne 0 ]; then
echo "jq 安装失败"
exit 1
fi
}
checkWgetPackage() {
@@ -134,6 +148,29 @@ checkWgetPackage() {
fi
}
checkVersion() {
echo "正在检查版本..."
version=$(curl -sL https://api.github.com/repos/xgadget-lab/nexttrace/releases/latest | jq -r '.tag_name')
if [[ $version == "" ]]; then
echo "获取版本失败,请检查网络连接"
exit 1
fi
echo 当前最新release版本${version}
read -r -p "是否安装/更新软件? (y/n)" input
case $input in
[yY][eE][sS] | [yY])
break
;;
[nN][oO] | [nN])
echo "您选择了取消安装/更新,脚本即将退出"
exit 1
;;
*)
break
;;
esac
}
checkJqPackage() {
jq -h >/dev/null
if [ $? -ne 0 ]; then
@@ -218,6 +255,7 @@ checkRootPermit
checkSystemDistribution
checkSystemArch
checkWgetPackage
checkVersion
# Download Procedure
getLocation