2016-07-07 5 views
7

मैं लिनक्स कमांड का उपयोग कर अपने खोल संस्करण के बारे में जानना चाहता हूं। मैं निम्न आदेश की कोशिश की लेकिन यह खोल रहा हूँ के प्रकार से पता चलताlinux कमांड का उपयोग कर अपना खोल संस्करण कैसे ढूंढें?

कमान:।

echo $SHELL 

परिणाम:

/bin/bash 
+0

ध्यान दें कि आप कुछ अजीब खोल का उपयोग कर सकते हैं, यहां तक ​​कि एक जो POSIX अनुपालन नहीं है (उदाहरण के लिए [मछली] (http://fishshell.com/) या [es] (https://wryun.github.io/es -shell /) ...)। आपको पता होना चाहिए कि आप किस शैल का उपयोग कर रहे हैं। यदि यह 'bash' है, तो वास्तव में 'bash --version' आज़माएं। या अपने पैकेज प्रबंधन प्रणाली का उपयोग करें (डेबियन या उबंटू पर 'dpkg -l bash') –

उत्तर

12

यह यह करना होगा:

$SHELL --version 

मेरे मामले में, आउटपुट है:

zsh 5.0.2 (x86_64-pc-linux-gnu) 
+2

सभी शैल में '--version' विकल्प नहीं है, लेकिन ऐसा करने से अधिक नहीं है, इसलिए यह शायद आपकी सबसे अच्छी शर्त है। – torek

+1

यह @ मुहम्मद सुमन मोला सेलिम – sago

+0

पर काम करता है मेरे पास इसके बारे में कुछ प्रश्न हैं; [मेरा जवाब] देखें (https://stackoverflow.com/a/38240328/827263)। –

4

यह इस बात पर निर्भर करता है कि आप अपने डिफ़ॉल्ट लॉगिन शैल के संस्करण को जानना चाहते हैं, या उस शैल का संस्करण जिसे आप वर्तमान में चल रहे हैं। वे जरूरी नहीं हैं।

आपके डिफ़ॉल्ट लॉगिन खोल के लिए, स्वीकृत उत्तर के अनुसार, $SHELL --version काम करने की संभावना है। अधिकांश (लेकिन सभी नहीं) गोले --version विकल्प स्वीकार करते हैं। (dash नहीं करता है।) और यह मानता है कि $SHELL का मान बदला नहीं गया है (ऐसा करने के वैध कारण हो सकते हैं)।

खोल आप वर्तमान में चला रहे हैं, अगर यह होता है के लिए bash आप टाइप कर सकते हैं:

echo $BASH_VERSION 

tcsh के लिए:

echo $version 

zsh के लिए:

echo $ZSH_VERSION 

ksh के लिए:

echo $KSH_VERSION 

fish के लिए:

echo $version 

फिर, यह मानता है कि प्रासंगिक चर संशोधित नहीं किया गया (वहाँ शायद ही कभी किसी भी गैर दुर्भावनापूर्ण इसे बदलने के लिए कारण नहीं है)।

विशेष रूप से बैश में एक सरणी चर $BASH_VERSINFO है जो प्रोग्राम में संसाधित करने के लिए एक फ़ॉर्म में अधिक जानकारी देता है।

+0

यह एक बेहतर उत्तर है। – ocertat

संबंधित मुद्दे