Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获得github repo-bash的最新预发布版本_Bash_Github_Jq - Fatal编程技术网

如何获得github repo-bash的最新预发布版本

如何获得github repo-bash的最新预发布版本,bash,github,jq,Bash,Github,Jq,要获得最新版本,我可以运行: curl --silent "https://api.github.com/repos/maxisme/notifi/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' 但是我想要最新的发布标签,它是草稿/预发布的?我们可以通过以下途径获得: 使用Json工具,如我们可以轻松过滤所有对象,只显示prerelea

要获得最新版本,我可以运行:

curl --silent "https://api.github.com/repos/maxisme/notifi/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/'

但是我想要最新的发布标签,它是草稿/预发布的?

我们可以通过以下途径获得:

使用Json工具,如我们可以轻松过滤所有对象,只显示prerelease:true的对象,然后提取最新版本的标记名称,如下所示:

jq -r 'map(select(.prerelease)) | first | .tag_name'
其中:

select.prerelease筛选器指向prerelease:true的项目 首先获取发布数组中的第一个对象 .tag_name显示tag_name键的值 将其与bash one liner相结合:


jq-r'mapselect.prerelease | first | tag _name'因此您要处理的输出应该是:refs/tags/0.9.9?从curl返回的输出,因此使用jq解析json@0stone0理想情况下为0.9.9,但如果最新值不是预发行版,它将返回.Ahh,因为JSON中有一个prelease:true/false,我们可以使用jq对这些进行过滤,以获得所需的输出,请参阅我的编辑
jq -r 'map(select(.prerelease)) | first | .tag_name'
map(select(.prerelease)) | first | .tag_name // "Not found"