diff --git a/nt_install.sh b/nt_install.sh index 884fc11..425e212 100644 --- a/nt_install.sh +++ b/nt_install.sh @@ -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