क्या एक पर्यावरण चर है जो ubuntu के संस्करण और कर्नेल के संस्करण को देता है?


2

क्या एक पर्यावरण चर है जो ubuntu के संस्करण को देता है और दूसरा जो कर्नेल का संस्करण देता है?

मैं अनुमान लगा रहा हूं कि उत्तर printenv | grep 14.04कुछ भी नहीं है, लेकिन मैंने सोचा कि मैं किसी भी तरह से पूछूंगा क्योंकि यह मुझे स्क्रिप्ट में एक अतिरिक्त कमांड चलाने की घोषणा करने से बचाएगा।

जवाबों:


9

नहीं, आपको उबंटू और कर्नेल के संस्करण प्राप्त करने के लिए क्रमशः कमांड lsb_releaseऔर unameकमांड का उपयोग करना होगा ।

$ lsb_release -sr
14.04
$ lsb_release -sc
trusty
$ uname -r
3.13.0-65-generic

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


2
एक में उचित चर घोषित कर सकता है ~/.profileया/etc/profile
Nephente

@ नीफेन्ते एक बहुत कुछ कर सकता था, लेकिन वह "ओपी" को एक स्क्रिप्ट में एक अतिरिक्त कमांड चलाकर इसे घोषित करने से नहीं बचाएगा।
मुरु

1
बेशक, यह ओपी के लिए सिर्फ एक सुझाव था कि आपके उत्तर की आलोचना न करें :-)
नेफेंटे

0

मुझे प्रदान किए गए सभी उत्तर पसंद आए क्योंकि वे सभी की पुष्टि करते हैं कि मुझे क्या संदेह है, हालांकि मुझे लगता है कि मैं जो देख रहा हूं उसके लिए निम्नलिखित करना बेहतर होगा:

उबंटू में एक फाइल है: /etc/lsb-release

मैं अभी /etc/update-motd.dविशेष रूप से लिपियों को देखकर इसे खोजता हूं/etc/update-motd.d/00-header

यह फ़ाइल, हालांकि निष्पादन योग्य नहीं है, इसमें ubuntu संस्करण जानकारी के साथ चर शामिल हैं, जो निम्न संदेश करते हुए motd संदेश पास किए जाते हैं:

[ -r /etc/lsb-release ] && . /etc/lsb-release

मूल रूप से, जैसा कि मैं इसे समझता हूं, अगर यह फ़ाइल मौजूद है और यह पठनीय है इसे बैश के साथ चलाएं।

तो कम से कम उबंटू के माहौल के भीतर, अगर मुझे अपनी स्क्रिप्ट में उस लाइन को शामिल करना था या सिर्फ वही . /etc/lsb-releaseमुझे किसी भी आदेश का सहारा लिए बिना सभी चर के साथ प्रदान करेगा।

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