我经常发现自己正在通过SSH连接到各种OS X机器,如果我可以在执行此操作时告诉我什么版本的OS XI,这将非常有用。uname -a
由于Darwin内核版本并不总是随系统的其余部分而变化,因此不能完全正常工作。
我经常发现自己正在通过SSH连接到各种OS X机器,如果我可以在执行此操作时告诉我什么版本的OS XI,这将非常有用。uname -a
由于Darwin内核版本并不总是随系统的其余部分而变化,因此不能完全正常工作。
Answers:
sw_vers
我的建议是使用sw_vers
。从10.6.4开始的示例输出:
> sw_vers
ProductName: Mac OS X
ProductVersion: 10.6.4
BuildVersion: 10F569
建议的答案system_profiler | grep 'System Version'
是我过去尝试使用的答案,但是它有两个问题。
grep
在10.6.4上“序列号”的输出为“序列号(系统):ZNNNNNZNZZZ”,而在10.4.11上为“序列号:ZNNNNZNZZZZ”-重要性为输出的可解析性,而加号为“ (系统)”部分可能会出现问题,除非您期望更改。最简单的方法是:
$ 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版本而有所不同。
grep -2 ProductVersion /System/Library/CoreServices/SystemVersion.plist
。阿罗哈(Miles)
尝试这个:
system_profiler | grep 'System Version'
迈克·格雷的答案比这更好。请看
system_profiler SPSoftwareDataType
在sw_vers
失败中胜出。
这是一篇博客文章,其中包含有关如何在Shell脚本中获取Mac OS X版本的说明。
OS_VERSION=`/usr/bin/defaults read "$3/System/Library/CoreServices/SystemVersion" ProductVersion`
echo "$OS_VERSION"
该system_profiler
可为运行system_profiler SPSoftwareDataType
。无需通过大量输出进行grep。
system_profiler
...```