shell命令下载最新github releases
前提
以clash为例子
我们得知其现在连接是为
https://github.com/Kr328/ClashForAndroid/releases/download/v2.5.12/cfa-2.5.12-foss-arm64-v8a-release.apk
通过观察和分析得知,想要下载最新的版本 只需要获取最新的版本号即可,然后我们手动拼接,即可获取最新的下载地址
https://github.com/Kr328/ClashForAndroid/releases/download/v[最新的版本号]/cfa-[最新的版本号]-foss-arm64-v8a-release.apk
开干
以下是个完整的shell
# 使用GitHub API获取最新的发行版信息(里边有最新的版本号标识)
response=$(curl -s https://api.github.com/repos/Kr328/ClashForAndroid/releases/latest)
# 提取下载链接 (tag_name属性即为版本号属性 cut命令获取版本号属性的值 awk命令把版本号中的v字符删除)
version=$(echo "$response" | grep 'tag_name' | cut -d'"' -f4 | awk '{print substr($0, 2, length($0) - 1)'})
# 拼接下载连接
download_url=https://github.com/Kr328/ClashForAndroid/releases/download/v$version/cfa-$version-foss-arm64-v8a-release.apk
# 使用curl下载最新发行版(-L意思是支持重定向,很多下载都是重定向下载 -o是自定义名字)
curl -L -o clash.apk $download_url
参考
chatGPT
csdn
https://blog.csdn.net/luyuyingyingying/article/details/126097169