ターミナルからMac OS Xバージョンを確認する方法は?


150

GUIからMac OS Xバージョンを見つける方法を知っています。 Apple Menu (top left) > About This Mac

Mac OS Xのバージョンを通知するターミナルコマンドはありますか?

回答:


211

いくつかのオプションがあります:

sw_vers -productVersion 

system_profiler SPSoftwareDataType

どちらも必要な処理を行い、解析可能な出力形式を使用します(それが目的の場合)。


3
最初のものはOSバージョン(つまり、「10.7.5」)のみを提供します。2番目のものは、32/64ビットなどの多くの追加情報を提供します。
ケント

1
良いですね!私はlsb_releaseそれらの線に沿って何かを探していました。これらのスクリプトを発見することはなかったでしょう。:D
アラステア14


4

メジャーバージョン(10.10、10.9)だけが必要な場合は、次を実行できます。

MAJOR_MAC_VERSION=$(sw_vers -productVersion | awk -F '.' '{print $1 "." $2}')

10.8.x、10.9.x、そして現在10.10で実行する場合、異なることをしなければならないいくつかのスクリプトでこれを使用します。


3
よりシンプルに:sw_vers -productVersion | cut -d '.' -f 1,2
waldyrious

2

スクリプトロジックのセマンティックバージョニングに基づいてmacOSのバージョン番号を分割する場合は、ここで使用するコードの小さな断片を示します

product_version=$(sw_vers -productVersion)
os_vers=( ${product_version//./ } )
os_vers_major="${os_vers[0]}"
os_vers_minor="${os_vers[1]}"
os_vers_patch="${os_vers[2]}"
os_vers_build=$(sw_vers -buildVersion)

# Sample semver output
echo "${os_vers_major}.${os_vers_minor}.${os_vers_patch}+${os_vers_build}"
# 10.12.6+16G29

これらの変数をスクリプトロジックで使用して、macOSのバージョンに基づいて異なるコマンドを実行できます。これにより、パッチまたはビルドのバージョンまでわずかに細かく制御できます。

# Sample bash code
if [[ ${os_vers_minor} -ge 11 ]]; then
    DMG_FORMAT=ULFO
elif [[ ${os_vers_minor} -ge 4 ]]; then
    DMG_FORMAT=UDBZ
else
    DMG_FORMAT=UDZO
fi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.