
我經常發現自己透過 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'
是我過去嘗試使用的,但它有兩個問題。
- 它很慢,因為它產生機器的完整 system_profiler 轉儲,收集所有硬體和軟體庫存資訊。
- 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 處理大量輸出。