
私は頻繁にさまざまな OS X マシンに SSH 接続しますが、その際にどのバージョンの 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'
私が過去に使用しようとしたものですが、2 つの問題があります。
- すべてのハードウェアおよびソフトウェアのインベントリ情報を収集して、マシンの完全な system_profiler ダンプを生成するため、処理が遅くなります。
- system_profiler の出力は時間の経過とともに変化しています。たとえば、
grep
10.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 する必要はありません。