如何从命令行知道我使用的 OS X 版本是什么?

如何从命令行知道我使用的 OS X 版本是什么?

我经常发现自己通过 SSH 连接到各种 OS X 机器,如果我能知道在执行此操作时使用的是哪个版本的 OS XI,那就很有用了。uname -a不太有效,因为 Darwin 内核版本并不总是随着系统的其余部分而变化。

答案1

sw_vers

我的建议是使用sw_vers.截至 10.6.4 的输出示例:

> sw_vers 
ProductName:    Mac OS X
ProductVersion: 10.6.4
BuildVersion:   10F569

建议的答案system_profiler | grep 'System Version'是我过去尝试使用的,但它有两个问题。

  1. 它很慢,因为它生成机器的完整 system_profiler 转储,收集所有硬件和软件库存信息。
  2. system_profiler 的输出随着时间的推移而变化。例如,10.6.4 上“序列号”的输出grep是“序列号(系统):ZNNNNNZNZZZ”,而在 10.4.11 上它是“序列号:ZNNNNNZNZZZZ” - 重要性在于输出的解析能力和添加“ (系统)”部分可能会出现问题,除非您期望进行更改。

答案2

最简单的方法是:

$ sw_vers -productVersion
10.6.4

http://tinyapps.org/blog/mac/201008140700_os_x_version_terminal.html:

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.6.4
BuildVersion:  
10F569
$ sw_vers -productVersion
10.6.4

在单用户模式下重置密码时尤其方便,因为该方法根据运行的 OS X 版本而有所不同。

答案3

尝试这个:

 system_profiler  | grep 'System Version'

迈克·格雷的答案比这更好。请看那个

答案4

可以system_profiler运行为system_profiler SPSoftwareDataType.无需 grep 处理大量输出。

相关内容