it-swarm.asia

كيف تعرف نسخة Mac OS X من المحطة الطرفية؟

أعرف كيفية العثور على إصدار Mac OS X من واجهة المستخدم الرسومية: Apple Menu (top left) > About This Mac

هل هناك أمر طرفي يخبرني بإصدار Mac OS X؟

146
Željko Filipin

لديك بعض الخيارات:

sw_vers -productVersion 

system_profiler SPSoftwareDataType

إما أن تفعل ما تريد ، وسيكون لها تنسيق الإخراج الذي هو قابل للتحلل (إذا كان هذا ما كنت بعد).

205
delfuego

يعرض الأمر sw_vers الإصدار.

بالنسبة لأجهزة Mac OS القديمة ، يمكنك العثور على معلومات مفيدة في Wikipedia .

7
EdmundsZ

إذا كان كل ما يهمك هو الإصدار الرئيسي (10.10 ، 10.9) ، يمكنك القيام به

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

أنا استخدم هذا في اثنين من البرامج النصية التي يجب أن تفعل أشياء مختلفة إذا كان يعمل على 10.8.x ، 10.9.x والآن 10.10.

4
Joe Block

إذا كنت تبحث عن تقسيم رقم إصدار 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
2
n8felton