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

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

私は頻繁にさまざまな OS X マシンに SSH 接続しますが、その際にどのバージョンの OS XI が稼働しているかがわかると便利です。uname -aDarwin カーネルのバージョンはシステムの他の部分と必ずしも一致するとは限らないため、これはうまく機能しません。

答え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'私が過去に使用しようとしたものですが、2 つの問題があります。

  1. すべてのハードウェアおよびソフトウェアのインベントリ情報を収集して、マシンの完全な system_profiler ダンプを生成するため、処理が遅くなります。
  2. system_profiler の出力は時間の経過とともに変化しています。たとえば、grep10.6.4 での「Serial Number」の出力は「Serial Number (system): ZNNNNNZNZZZ」ですが、10.4.11 では「Serial Number: ZNNNNZNZZZZ」でした。重要なのは、出力の解析可能性であり、変更を予期していない限り、「 (system)」の追加部分は問題になる可能性があります。

答え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 する必要はありません。

関連情報