尝试在Mac上使用Unix从HTML文档中的一行提取版本号



我正试图从谷歌网站上提取Chrome的当前稳定版本号https://cloud.google.com/chrome-enterprise/browser/download/添加到一个脚本中,该脚本将检查当前的稳定版本,如果不匹配则进行更新。我真的在第一个栏上摔倒了。

我正在使用#运行脚本/bin/sh在Mac上。我使用的命令是:

currentVersion="$(curl https://cloud.google.com/chrome-enterprise/browser/download/ | grep "Chrome DMG for OS X")" 

这隔离了chrome:上开发工具中显示信息的行

<p class="cloud-browser__title-bold">
Chrome DMG for OS X
<br>
<span class="cloud-browser-downloads__dl-row-version">
v 70.0.3538.110
</span>
</p>

但当我拉动它时,我想要的唯一一点"v 70.0.3538.110"并没有显示出来。对版本字符串上的任何一个使用grep都没有任何作用。我只是不明白发生了什么。我认为它可能是从其他地方提取数字并填充页面,但我看不到任何证据(在chrome dev工具的可访问性视图中,它显示为文本(。

PLEH!!!提前感谢

解决方案:

有一个选项,就是卷曲Google Chorme web浏览器的更改日志页面,如果你想要稳定的更新,就是这个选项;如果你想要所有版本,甚至是dev,就是这个。命令是:

curl https://chromereleases.googleblog.com/search/label/Stable%20updates | grep "Mac" | tr -d "<>-:;/,&"=#[a-z][A-Z]" | head -1 | sed -e "s/666666//g;s/ . //g;s/ //g"

输出为

70.0.3538.110

没有任何空间,并且是准备使用的字符串

谷歌的错:它使用静态技术更新网页

如果你想从cloud.google.com/chrome-enterprise/browser/download/获得版本,你只会以没有结果告终。

与现在一样有效的替代方案

试着在另一个网站上使用curl,绕过谷歌使用静态工具来更改网页内的版本号。这样的东西应该工作,只要WhatIsMyBrowser不关闭网站本身

https://www.whatismybrowser.com/guides/the-latest-version/chrome | grep -A 1 "MacOS" | tr -d "<[a-z][A-Z]>/" 

要了解您已安装的版本

如果您想获取当前安装的版本,只需键入
google-chrome --version
即可;如果您只想获取要使用bash计算的版本,则必须键入
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome --version | grep -iE "[0-9.]{10,20}"
并使用正则表达式
这在终端上工作
还有一个直接来自chrome的gui版本,只需转到urlchrome://versionabout:即可为您提供一个包含chrome 所有信息的网站

最新更新