मैं कैसे बता सकता हूं कि ओएस एक्स का कौन सा संस्करण कमांड लाइन से है?


68

मैं अक्सर अपने आप को विभिन्न ओएस एक्स मशीनों में SSHing पाता हूं, और यह उपयोगी होगा यदि मैं बता सकता हूं कि जब मैं ऐसा कर रहा था तो OS XI का संस्करण क्या था। uname -aकाफी काम नहीं करता है, क्योंकि डार्विन कर्नेल संस्करण हमेशा बाकी सिस्टम के साथ नहीं बदलते हैं।

जवाबों:


78

sw_vers

मेरा सुझाव उपयोग करना है sw_vers। उदाहरण के उत्पादन के रूप में 10.6.4:

> sw_vers 
ProductName:    Mac OS X
ProductVersion: 10.6.4
BuildVersion:   10F569

जो उत्तर सुझाया गया system_profiler | grep 'System Version'है वह यह है कि मैंने अतीत में उपयोग करने की कोशिश की है, लेकिन इसमें 2 समस्याएं हैं।

  1. यह धीमा है क्योंकि यह मशीन का एक पूर्ण system_profiler डंप उत्पन्न करता है, सभी हार्डवेयर और सॉफ़्टवेयर इन्वेंट्री जानकारी एकत्र करता है।
  2. समय के साथ system_profiler का आउटपुट बदल गया है। उदाहरण के grepलिए, 10.6.4 पर 'सीरियल नंबर' का आउटपुट "सीरियल नंबर (सिस्टम): ZNNNNNZNZZZ" है, जबकि 10.4.11 को यह "सीरियल नंबर: ZNNNNZNZZZZ" था - महत्व आउटपुट और जोड़ने की पार्स-क्षमता होने के नाते " (सिस्टम) "टुकड़ा समस्याग्रस्त हो सकता है जब तक आप बदलाव की उम्मीद नहीं कर रहे हैं।

1
मैं यह चारों ओर फ्लिप हूँ। `` `Sw_vers का उपयोग करें… --------------------------- सुझाव दिया गया है system_profiler
कि`

@TimVisher सहमत मैंने सिर्फ शीर्ष पर रखने के लिए उनके उत्तर को संपादित किया।
जोशुआ पिंटर

37

सबसे आसान तरीका है:

$ sw_vers -productVersion
10.6.4

से http://tinyapps.org/blog/mac/201008140700_os_x_version_terminal.html :

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.6.4
BuildVersion:  
10F569
$ sw_vers -productVersion
10.6.4

एकल उपयोगकर्ता मोड में पासवर्ड रीसेट करते समय विशेष रूप से आसान है, क्योंकि यह विधि ओएस एक्स के किस संस्करण के आधार पर भिन्न होती है।


चिल्ला-चिल्ला बेंजामिन के लिए धन्यवाद! मैं एक ऑफ़लाइन ओएस एक्स इसलिए की तरह स्थापित जाँच शामिल करने के लिए पोस्ट को नवीनीकृत किया है: grep -2 ProductVersion /System/Library/CoreServices/SystemVersion.plist। अलोहा, माइल्स
माइल्स वोल्बे

8

इसे इस्तेमाल करे:

 system_profiler  | grep 'System Version'

माइक ग्रे का जवाब इससे बेहतर है। कृपया देखें


4
माइक ग्रे ने क्या कहा।

एकल-उपयोगकर्ता मोड system_profiler SPSoftwareDataTypeजीतता है जहां sw_versहारता है।
डेवॉन

5

यहां एक ब्लॉग आलेख है, जिसमें शेल स्क्रिप्ट में मैक ओएस एक्स संस्करण कैसे प्राप्त किया जाए

OS_VERSION=`/usr/bin/defaults read "$3/System/Library/CoreServices/SystemVersion" ProductVersion`
echo "$OS_VERSION"

1
यह एक गैर-सक्रिय ऑपरेटिंग सिस्टम के संस्करण को खोजने के लिए बहुत उपयोगी है, उदाहरण के लिए। एक मात्रा जिसे मरम्मत या ऐसे किया जा रहा है।
ylluminate

3

के system_profilerरूप में चलाया जा सकता है system_profiler SPSoftwareDataType। विशाल आउटपुट के माध्यम से grep करने की आवश्यकता नहीं है।


यह प्रश्न का उत्तर प्रदान नहीं करता है। एक बार आपके पास पर्याप्त प्रतिष्ठा होने पर आप किसी भी पोस्ट पर टिप्पणी करने में सक्षम होंगे ; इसके बजाय, ऐसे उत्तर प्रदान करें जिन्हें पूछने वाले से स्पष्टीकरण की आवश्यकता न हो । - समीक्षा से
जेफ स्कालर

@JeffSchaller लगता है कि उत्तर ठीक है। यह प्रश्न का उत्तर देता है।
α atsнιη

यह OSX का संस्करण निर्धारित करता है?
जेफ स्कालर


1
हां, यह "सिस्टम संस्करण" भाग में लौटता है, कमांड लाइन से ओएस एक्स संस्करण देखें , यह एक टिप्पणी आईएमओ के बजाय मेरे लिए एक उत्तर है।
α atsнιη
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.