#!/bin/bash

获取本地版本号

local_version=$(cat ./version.txt)

获取云端版本号

cloud_version=$(cat ./newversion.txt)

检查更新

if [[ "$cloud_version" != "$local_version" ]]; then # 分离版本号的 A/B 部分 cloud_type=$(echo "$cloud_version" | cut -d'-' -f1) local_type=$(echo "$local_version" | cut -d'-' -f1)

# 检查是否需要更新
if [[ "$cloud_type" == "$local_type" ]]; then
    # 分离版本号的日期和数字部分
    cloud_date=$(echo "$cloud_version" | cut -d'-' -f2)
    local_date=$(echo "$local_version" | cut -d'-' -f2)
    cloud_num=$(echo "$cloud_version" | cut -d'-' -f3)
    local_num=$(echo "$local_version" | cut -d'-' -f3)

    # 检查是否需要更新
    if [[ "$cloud_num" -gt "$local_num" ]]; then
        echo "有可用更新: $local_version -> $cloud_version"
        
        # 判断是否需要更新大版本
        cloud_aaa=$(echo "$cloud_version" | cut -d'-' -f1 | cut -d':' -f2)
        local_aaa=$(echo "$local_version" | cut -d'-' -f1 | cut -d':' -f2)
        if [[ "$cloud_aaa" != "$local_aaa" ]]; then
            read -p "有新的大版本需要更新,是否更新? [y/n] " choice
            if [[ "$choice" == "n" ]]; then
                echo "已取消更新"
                exit
            fi
        fi
        
        # 判断是否需要更新小版本
        cloud_bbb=$(echo "$cloud_version" | cut -d'-' -f2)
        local_bbb=$(echo "$local_version" | cut -d'-' -f2)
        if [[ "$cloud_bbb" -gt "$local_bbb" ]]; then
            read -p "有新的小版本需要更新,是否更新? [y/n/o] " choice
            if [[ "$choice" == "n" ]]; then
                echo "已取消更新"
                exit
            elif [[ "$choice" == "o" ]]; then
                echo "已跳过此版本的更新"
                exit
            fi
        fi
        
        # 下载并替换脚本文件
        URL=$(grep -oP 'URL\s*:\s*\"\K[^"]+' ./update.txt)
        echo $URL
        curl -s $URL > script.sh
        chmod +x script.sh
        echo "$cloud_version" > version.txt
        echo "更新成功"
    else
        echo "当前版本已经是最新的"
    fi
else
    echo "无法更新到 $cloud_type 类型的版本"
fi

else echo "当前版本已经是最新的" f

#!binbash# 获取本地版本号local_version=$cat versiontxt# 获取云端版本号cloud_version=$cat newversiontxt# 检查更新if $cloud_version != $local_version ; then # 分离版本号的 AB 部分 cloud_type=$echo $cloud_version cut -d-

原文地址: https://www.cveoy.top/t/topic/g91G 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录