Bash 脚本用于从特定软件的网页下载文件的任何新版本

Bash 脚本用于从特定软件的网页下载文件的任何新版本

假设我正在创建一个脚本来自动从源代码下载和编译 Nginx,但我想做的一个改进是确保脚本可以与新版本的 Nginx 一起使用,而无需我手动编辑它,例如现在我有这行:wget https://nginx.org/download/nginx-1.17.9.tar.gz && tar zxvf nginx-1.17.9.tar.gz && rm nginx-1.17.9.tar.gz && cd nginx-1.17.9

现在,这对于目前版本的 Nginx 来说效果很好,但是将来该版本将发生变化,从而破坏 URL,我该如何让脚本查找并下载任何新版本,而不必在他们发布每次更新时对其进行编辑?

答案1

我认为 Nginx 没有提供“最新”链接,但也许我还不够仔细。

恐怕您必须执行其他步骤才能达到预期结果。

您可以阅读目录https://nginx.org/download/并解析输出以确定最新版本。然后下载相关文件。

另一个选择是从这里开始:https://nginx.org/en/download.html 并获取标题“主线版本”下的 URL。

curl对于任何选项,您都必须使用类似或 的工具wget,解析输出,提取 URL。或者使用更复杂的脚本语言(例如python+requests模块)完成工作,然后告别您的甜蜜单行代码。

您可以询问 Nginx 是否有用于自动化目的的永久链接,但您可能不是唯一这样做的人。

相关内容