Terminalden Mac OS X sürümünü nasıl bulabilirim?


150

GUI'den Mac OS X sürümünü nasıl bulacağımı biliyorum: Apple Menu (top left) > About This Mac

Bana Mac OS X sürümünü söyleyecek bir Terminal komutu var mı?

Yanıtlar:


211

Birkaç seçeneğiniz var:

sw_vers -productVersion 

system_profiler SPSoftwareDataType

Ya ihtiyacınız olanı yapacak ve ayrıştırılabilir bir çıktı formatına sahip olacaktır (eğer peşindeyseniz).


3
İlki size sadece işletim sistemi sürümünü verir (yani, "10.7.5"). İkincisi, 32/64-bit gibi birçok ek bilgi verir.
Kent

1
Güzel! lsb_releaseBu çizgiler boyunca bir şeyler aramaya başlamıştım . Bu komut dosyalarını asla göremezdim. : D
Alastair


4

Tek umursadığınız ana sürüm (10.10, 10.9) ise,

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

Bunu, 10.8.x, 10.9.x ve şimdi 10.10'da çalıştırıldığında farklı şeyler yapmak zorunda olan birkaç komut dosyasında kullanırım.


3
Daha basit:sw_vers -productVersion | cut -d '.' -f 1,2
waldyrious

2

MacOS versiyon numarasını script mantığı için semantik versiyonlamaya göre ayırmak istiyorsanız, kullandığım kodun küçük bir parçası

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 sürümüne bağlı olarak farklı komutları çalıştırmak için bu değişkenleri komut dosyası mantığında kullanabilirsiniz. Bu, yama veya derleme sürümünde biraz daha ayrıntılı kontrol sağlar.

# 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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.