#!binbash# 获取本地版本号local_version=$cat versiontxt# 获取云端版本号cloud_version=$cat newversiontxt# 检查更新if $cloud_version != $local_version ; then # 分离版本号的 AB 部分 cloud_type=$echo $cloud_version cut -d-
#!/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
原文地址: https://www.cveoy.top/t/topic/g91G 著作权归作者所有。请勿转载和采集!