我需要在Mac osX 10.10的.sh脚本中使用应用程序版本,以便可以与另一个数字进行比较,以便可以强制进行更新或不进行更新。
到目前为止,我有这个(我以Firefox.app为例)
FirefoxmdlsVersion= mdls -name kMDItemVersion /Applications/Firefox.app;
echo $FirefoxmdlsVersion
Run Code Online (Sandbox Code Playgroud)
这返回kMDItemVersion = "34.0"了朝正确方向迈出的一步,但我只需要数字即可进行比较示例340
这是我尝试使用新变量执行的操作,但是我完全没有收到错误或输出
FFV2=${FirefoxmdlsVersion//'kMDItemVersion ='}
FFV3=${FirefoxmdlsVersion:18:4}
Run Code Online (Sandbox Code Playgroud)
我可能在这里走错了方向,但我看了一个帖子,还没有取得任何进展。谁能帮我?
如果您已安装Xcode和开发人员工具,则可以始终使用PlistBuddy ...
例如:
/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" /Applications/TextEdit.app/Contents/Info.plist
Run Code Online (Sandbox Code Playgroud)
还给我还给我1.10优胜美地的版本号。
任何应用程序的Info.plist文件通常在“ CFBundleShortVersionString”键下都有一个版本。
要向列表中添加一个选项,您还可以使用该defaults工具。
例如:
defaults read /Applications/Firefox.app/Contents/Info.plist CFBundleShortVersionString
CFBundleShortVersionString将从Firefox 的 Info.plist 文件中输出条目的值,例如:74.0
我更喜欢使用该defaults命令,因为使用它没有任何前提条件,而且命令非常简单。
tr您也可以使用:
FirefoxmdlsVersion= mdls -name kMDItemVersion /Applications/Firefox.app | tr -d ".";
Run Code Online (Sandbox Code Playgroud)
产生3405(从 Firefox 34.0.5 开始)
| 归档时间: |
|
| 查看次数: |
7651 次 |
| 最近记录: |