2009-11-25 12:48:57 +0000 2009-11-25 12:48:57 +0000
155
155

ターミナルからMac OS Xのバージョンを調べる方法

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

Mac OS Xのバージョンを教えてくれるターミナルコマンドはありますか?

回答 (4)

216
216
216
2009-11-25 14:13:02 +0000

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

sw_vers -productVersion 

system_profiler SPSoftwareDataType

どちらも必要なことを行い、パース可能な出力フォーマットを持つことになります(それが目的であれば)。

7
7
7
2014-02-16 21:28:28 +0000

コマンド sw_vers はバージョンを表示します。

古いMac OSの場合は、Wikipediaに有用な情報があります。

4
4
4
2014-10-20 19:59:27 +0000

メジャーバージョン(10.10, 10.9)にしか興味がないのであれば、

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

0x1&

10.8.x, 10.9.x, 10.9.x, 10.10で実行すると異なる動作をしなければならないいくつかのスクリプトでこれを使用しています。

2
2
2
2017-10-14 02:07:02 +0000

スクリプトロジックのセマンティックバージョニングに基づいて 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
``` ```
# 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