如何从 github 下载最新版本并使用 bash 将 zip 文件解压到文件夹中

如何从 github 下载最新版本并使用 bash 将 zip 文件解压到文件夹中

我想编写一个 bash 脚本来从 github repo 下载最新版本并将下载的 zip 解压到特定目录中。

这个要点我可以下载 zip 文件。shell 脚本如下所示。

curl -s https://api.github.com/repos/kgns/weapons/releases/latest \
| grep browser_download_url \
| cut -d : -f 2,3 \
| tr -d \" \
| wget -qi -

这将从 repo 下载最新版本的 zip 文件。现在,我想将 zip 文件的内容提取到 中some/other/dir/,替换旧版本中的现有文件。如果不知道下载的 zip 文件的名称(因为每个版本的名称都会变化),我该如何执行此操作?

最后,我还想通过删除我下载的 zip 文件进行清理。

答案1

我稍微重新格式化了您创建的内容,用单个 sed 替换了 cut 和 tr,以实现大致相同的结果。然后,为了方便起见,将这些输出保留在“$file”中...

$文件=“$(
curl -s https://api.github.com/repos/kgns/weapons/releases/latest \
| grep 浏览器下载网址 \
| sed -re 's/.*: "([^"]+)".*/\1/' \
)”

$ 回显 ${文件##*/}
武器-v1.7.5.zip

参考:
$ man bash
...man bash显示后,输入一个/开始搜索(q退出、h获取帮助)。
搜索 Parameter ExpansionCommand Substitution(保留 CASE)以获取我所做工作的解释。


有关 bash 脚本的更多信息:

The Linux Documentation Project https://www.tldp.org-> Bash 指南

相关内容