如何用Bash脚本下载GitHub hekate项目的指定最新Release压缩包
用Xidel下载GitHub最新Release指定文件(以hekate项目为例)
直接获取目标文件的下载链接
执行这条命令就能输出符合条件的文件下载地址:
xidel -s "https://api.github.com/repos/CTCaer/hekate/releases/latest" -e '$json/assets()[contains(name, "hekate_ctcaer")]/browser_download_url'
直接用Xidel完成下载
如果想一步到位把文件下载到当前目录,加上--download参数即可:
xidel -s "https://api.github.com/repos/CTCaer/hekate/releases/latest" -e '$json/assets()[contains(name, "hekate_ctcaer")]/browser_download_url' --download .
结合curl下载(可选)
也可以先把链接存到变量里,再用curl下载:
DOWNLOAD_URL=$(xidel -s "https://api.github.com/repos/CTCaer/hekate/releases/latest" -e '$json/assets()[contains(name, "hekate_ctcaer")]/browser_download_url') curl -LO "$DOWNLOAD_URL"
关键语法说明
-s:静默模式,屏蔽无关日志输出-e:指定Xidel的提取表达式,这里用XPath语法处理JSON返回结果$json:指代GitHub API返回的整个JSON数据对象assets():遍历返回结果里的assets数组元素contains(name, "hekate_ctcaer"):筛选name字段包含指定字符串的资源browser_download_url:提取该资源的直接下载链接- 如果存在多个匹配文件,可通过
[1]、[2]这样的索引指定具体哪一个,比如assets()[contains(name, "hekate_ctcaer")][1]/browser_download_url取第一个匹配项
内容的提问来源于stack exchange,提问作者Fraxalotl
相关产品推荐
相关产品推荐

