Update Nlbench.sh

This commit is contained in:
Jensfrank 2024-07-18 01:49:19 +08:00 committed by GitHub
parent 07ecfc8aff
commit 39c87d942a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -23,26 +23,22 @@ check_update() {
echo "正在检查更新..."
# GitHub文件路径
version_file_url="https://raw.githubusercontent.com/everett7623/nodeloc_vps_test/main/version.sh"
script_file_url="https://raw.githubusercontent.com/everett7623/nodeloc_vps_test/main/NLbench.sh"
# 检查版本文件是否存在
if ! curl --output /dev/null --silent --head --fail "$version_file_url"; then
echo "版本文件不存在或URL不正确: $version_file_url"
return
fi
# 获取当前脚本路径
script_path=$(readlink -f "$0")
# 获取最新版本号(去除注释和空行后提取最后一个版本号)
latest_version=$(curl -s "$version_file_url" | grep -E "v[0-9]+\.[0-9]+\.[0-9]+" | tail -n 1 | grep -o "v[0-9]\+\.[0-9]\+\.[0-9]\+")
# 提取当前版本号假设脚本中有声明CURRENT_VERSION
current_version=$(grep -o "v[0-9]\+\.[0-9]\+\.[0-9]\+" "$script_path")
# 获取最新版本号
latest_version=$(curl -s "$script_file_url" | grep -o "v[0-9]\+\.[0-9]\+\.[0-9]\+")
if [ -z "$latest_version" ]; then
echo "无法获取最新版本信息。"
return
fi
# 提取当前版本号
current_version=$(echo "$CURRENT_VERSION" | grep -o "v[0-9]\+\.[0-9]\+\.[0-9]\+")
# 比较版本号
if [ "$current_version" != "$latest_version" ]; then
echo "发现新版本: $latest_version"
@ -50,18 +46,18 @@ check_update() {
echo "正在自动更新..."
# 下载新脚本
curl -o "$0.tmp" "$script_file_url"
curl -o "$script_path.tmp" "$script_file_url"
# 检查下载内容是否正确
if grep -q "#!/bin/bash" "$0.tmp"; then
mv "$0.tmp" "$0"
chmod +x "$0" # 添加执行权限
if grep -q "#!/bin/bash" "$script_path.tmp"; then
mv "$script_path.tmp" "$script_path"
chmod +x "$script_path" # 添加执行权限
echo "更新完成。重新启动脚本..."
exec "$0" "$@"
exec "$script_path" "$@"
else
echo "下载的脚本内容不正确。"
cat "$0.tmp" # 输出下载的内容进行调试
rm -f "$0.tmp"
cat "$script_path.tmp" # 输出下载的内容进行调试
rm -f "$script_path.tmp"
fi
else
echo "当前已是最新版本。"