टर्मिनल से मैक ओएस एक्स संस्करण कैसे पता करें?


150

मुझे पता है कि GUI से Mac OS X संस्करण कैसे खोजना है: Apple Menu (top left) > About This Mac

क्या कोई टर्मिनल कमांड है जो मुझे मैक ओएस एक्स संस्करण बताएगा?

जवाबों:


211

आपके पास कुछ विकल्प हैं:

sw_vers -productVersion 

system_profiler SPSoftwareDataType

या तो आपको वही करना होगा जो आपके लिए आवश्यक है, और एक आउटपुट स्वरूप होगा जो कि पार्स करने योग्य है (यदि वह आपके बाद है)।


3
पहले वाला केवल आपको OS संस्करण देता है (यानी, "10.7.5")। दूसरा आपको बहुत सी अतिरिक्त जानकारी देता है जैसे कि 32/64-बिट।
केंट

1
अच्छा है! मैं lsb_releaseउन रेखाओं की तलाश में या कुछ बनाया जा रहा था । कभी उन लिपियों को देखा होगा। : डी
एलिस्टेयर

7

कमांड sw_versसंस्करण दिखाता है।

पुराने मैक ओएस के लिए आप विकिपीडिया में उपयोगी जानकारी पा सकते हैं ।


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
वाल्ड्रियस नोव

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.