web-dev-qa-db-ja.com

現在使用しているOS Xのバージョンをコマンドラインから確認するにはどうすればよいですか?

私は頻繁にさまざまなOS XマシンにSSHで接続していることに気づきます。それを行っているときに、使用していたOS Xのバージョンを確認できると便利です。 uname -aは完全には機能しません。Darwinカーネルのバージョンは、システムの他の部分で常に変更されるわけではないためです。

69

sw_vers

私の提案はsw_vers。 10.6.4の出力例:

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

提案した答えsystem_profiler | grep 'System Version'は過去に使用しようとしたものですが、2つの問題があります。

  1. マシンの完全なsystem_profilerダンプを生成し、すべてのハードウェアとソフトウェアのインベントリ情報を収集するため、処理速度は遅くなります。
  2. System_profilerの出力は時間とともに変化しました。例えば10.6.4での「シリアル番号」のgrepの出力は「シリアル番号(システム):ZNNNNNZNZZZ」ですが、10.4.11では「シリアル番号:ZNNNNZNZZZZ」でした-重要なのは、 outputとadd "(system)"ピースは、変更を期待していない限り問題になる可能性があります。
79
Mike Gray

最も簡単な方法は次のとおりです。

$ 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のバージョンによって方法が異なるためです。

38
Benjamin Oakes

これを試して:

 system_profiler  | grep 'System Version'

Mike Grayの答えはこれよりも優れています。それを参照してください

8
kbyrd

これはブログ記事の説明です シェルスクリプトでMac OS Xバージョンを取得する方法

OS_VERSION=`/usr/bin/defaults read "$3/System/Library/CoreServices/SystemVersion" ProductVersion`
echo "$OS_VERSION"
6
Larry Smithmier

system_profilersystem_profiler SPSoftwareDataTypeとして実行できます。大量の出力をgrepする必要はありません。

3
user242114