GitHub提供了一个“最新”的URL,重定向到最新版本的信息页面。例如:https//github.com/reactiveui/ReactiveUI/releases/latest将重定向到https://github.com/reactiveui/ReactiveUI/releases/tag/5.99.6

这很好,但我需要一个URL下载文件https://github.com/reactiveui/ReactiveUI/releases/download/5.99.6/ReactiveUI-5.99.6.zip

为什么?作为Travis CI脚本的一部分,我想让URL curl以下载最新版本。

我猜对了一些URL,比如/ releases / download / latest /file.zip(用“latest”代替版本部分)和/releases/download/file.zip,而不是404。

有没有办法做到这一点 - 在一个shell脚本和curl的上下文?

耽尼耽尼提问于
弯起嘴角笑在路上回答于

在Windows上,只使用Powershell,这对我来说是有效的。它可能可以写得短得多。

#Downloads latest paket.bootstrapper.exe from github
$urlbase = "https://github.com"
$latestPage="$urlbase/fsprojects/Paket/releases/latest"
Write-Host "Parsing latest release page: $latestPage"
$page=Invoke-Webrequest -uri $latestPage
$latestBootStrapper=($page.Links | Where-Object { $_.href -match "bootstrapper" }).href

$dlurl="$urlbase$latestBootStrapper"
Write-Host "Downloading paket.bootstrapper.exe from $dlurl"

$wc=new-object net.webclient
$wc.UseDefaultCredentials=$true
$wc.Proxy.Credentials=$wc.Credentials
$wc.DownloadFile($dlurl, (join-path (resolve-path ".\") "paket.bootstrapper.exe"))

回答过的其他问题

微信小程序开发首选腾讯云,有何先发优势?

有两个优势吧: 1,灵活配置弹性伸缩 针对微信小程序传播可能出现的流量暴增,腾讯云微信小程序解决方案提供的弹性伸缩能力支持在特定时点或者CPU/内存达到某个阀值后自动扩容,随后自动缩容,轻松应对高并发。 2,配套解决接口难题 小程序提供WebSocket长连接通信的客户端API,...... 展开详请

如何在CentOS上创建Kubernetes集群?

前提条件 由于要用到谷歌的服务,所以要求您的网络环境可以科学上网,具体的方案就不在这里说了; 复制文件 如下图所示,cent7是我们上一章操作完成后对应的CentOS7的VMware文件夹,现在把这个文件夹复制三份一模一样的,再分别重命名为maste、node1、node2: ...... 展开详请

腾讯云在世界杯直播中采用了哪些黑科技?

感兴趣区域编码技术 集成人体检测、特征提取功能,可将人脸、肤色、视频焦点区域识别后进行编码,区域强化后输出码率等技术,进行特定动态区域编码。该技术可以提升视频感兴趣及重点区域的观看体验。针对重点区域图像优化与人眼感官识别匹配,在满足用户人眼观看体验的同时,通过视频分辨率的流式优化...... 展开详请

如何实现数据可视化?

数据可视化不是分析 数据可视化可以产生一些分析结果, 不过需要指出的是,可视化是一个辅助分析的工具, 而不是数据分析的替代, 它也不是统计的替代: 你的图形可能揭示了一些数据差异或者数据的相关性。 不过, 要得出存在这些差异和相关性的可靠结论,还需要运用统计的方法。 要对你的数据...... 展开详请

为什么大数据时代的数据存储大多选择非关系型数据库?

nosql数据之间没有耦合性,所以非常容易水平扩展,适合广铺

JsonPath使用RegExp读取Map键

我同意评论者的观点,即问题在于构建数据,使名称成为关键。是否有可能代之以如下的人名单? { "persons": [ { "id": "123", "name": "Paul", "address": "abc" }, ...... 展开详请

扫码关注云+社区