检查要下载的文件是否存在,以及是否需要更新(文件大小不同确认更新)

#!/bin/bash

# 定义文件名和下载链接
file_name="example.sh"
download_url="https://example.com/example.sh"

# 检查文件是否存在
if [ -e "$file_name" ]; then
    # echo "文件已存在"
    
    # 检查是否需要更新
    remote_size=$(curl -sI "$download_url" | awk '/Content-Length/ {print $2}' | tr -d '\r')
    local_size=$(wc -c < "$file_name" | tr -d ' ')
    
    if [ "$remote_size" -eq "$local_size" ]; then
        echo "文件无需更新"
    else
        echo "文件需要更新"
        # 下载文件
        curl -o "$file_name" "$download_url"
    fi
else
    echo "文件不存在,开始下载"
    # 下载文件
    curl -o "$file_name" "$download_url"
fi
echo "即将运行脚本……"
sleep 3
sh "$file_name"