बैश बनाम ज़श: अंतर और तुलना

Bash Vs Zsh Differences



दे घुमा के शेल लिनक्स के लिए डिफ़ॉल्ट शेल है और इसे बॉर्न शेल के प्रतिस्थापन में जारी किया गया है। कई स्वचालित कार्य और प्रोग्रामिंग समाधान किसके द्वारा किए जा सकते हैं दे घुमा के सरलता। एक ही प्रकार के कार्य करने के लिए Linux में कई अन्य शेल उपलब्ध हैं जैसे दे घुमा के . जेड शेल या ज़शो उनमें से एक है जिसका आविष्कार बाद में किया गया है दे घुमा के . इसमें बैश जैसी कई विशेषताएं हैं लेकिन कुछ विशेषताएं हैं ज़शो इसे बैश की तुलना में बेहतर और बेहतर बनाएं, जैसे वर्तनी सुधार, सीडी ऑटोमेशन, बेहतर थीम और प्लगइन समर्थन, आदि। लिनक्स उपयोगकर्ताओं को बैश शेल स्थापित करने की आवश्यकता नहीं है क्योंकि यह डिफ़ॉल्ट रूप से लिनक्स वितरण के साथ स्थापित है। सिस्टम में डिफ़ॉल्ट रूप से Zsh या Z शेल स्थापित नहीं है। उपयोगकर्ताओं को इसका उपयोग करने के लिए इस शेल को स्थापित करने की आवश्यकता है। कुछ विशेषताएं इसके लिए सामान्य हैं दे घुमा के तथा ज़शो लेकिन इन गोले के बीच कुछ प्रमुख अंतर हैं जिन्हें इस लेख में उचित स्पष्टीकरण के साथ वर्णित किया गया है।

'का उपयोग करना सीडी 'आदेश'

वर्तमान निर्देशिका को बदलने के लिए बैश और Zsh शेल दोनों में 'cd' कमांड का उपयोग किया जाता है। वह विशेषता जिसके द्वारा निर्देशिकाओं को फ़ाइलों और फ़ोल्डरों का पता लगाने के लिए पुनरावर्ती रूप से खोजा जाता है, कहलाती है पुनरावर्ती पथ विस्तार जो केवल zsh द्वारा समर्थित है। बैश और zsh शेल में 'cd' कमांड का उपयोग यहाँ दिखाया गया है।







दे घुमा के

निर्देशिका को बदलने के लिए आपको निर्देशिका का पूरा पथ बैश में टाइप करना होगा और पुनरावर्ती पथ विस्तार बैश द्वारा समर्थित नहीं है।



$सीडी कोड/पायथन



ज़शो

इस शेल में डायरेक्टरी और फाइल को आसानी से खोजा जा सकता है। यदि आप टाइप करते हैं सीडी + स्पेस + सी + टैब zsh शेल में, फिर यह किसी भी फाइल या फोल्डर के नाम से शुरू होने वाले नाम को खोजेगा 'सी ' और यह फ़ाइल या फ़ोल्डर का नाम दिखाएगा जो पहले पाया जाता है।





% सीडीसी

उदाहरण के लिए, यदि कोड फ़ोल्डर मिल गया है और यह प्रदर्शित होगा। अगर आपने फिर से टाइप किया '/पी' फिर यह फाइलों को दिखाएगा और फ़ोल्डर का नाम 'से शुरू होता है' पी '।

% सीडीपी



वर्तनी सुधार

किसी भी शेल के लिए वर्तनी परीक्षक एक बहुत ही उपयोगी विशेषता है। यूजर्स इस फीचर के जरिए टाइपिंग एरर को आसानी से ठीक कर सकते हैं। यह सुविधा दोनों द्वारा समर्थित है दे घुमा के तथा ज़श। लेकिन वर्तनी सुधार अधिक कुशलता से किया जा सकता है ज़शो सीप। इस सुविधा का उपयोग नीचे दोनों गोले के लिए दिखाया गया है।

दे घुमा के

मान लीजिए, आप डायरेक्टरी में जाना चाहते हैं ' संगीत ' लेकिन आपने टाइप किया है ' जादू' गलती से, बैश शेल डिफ़ॉल्ट रूप से वर्तनी त्रुटि का पता नहीं लगाएगा और यह एक त्रुटि संदेश दिखाएगा: ऐसी कोई फ़ाइल या डायरेक्टरी नहीं है .

$सीडीमुजिक

इस प्रकार की समस्या को ठीक करने के लिए आपको वर्तनी परीक्षक को सक्षम करना होगा। खोलना ~/.bashrc वर्तनी परीक्षक को सक्षम करने के लिए लाइन जोड़ने के लिए किसी भी संपादक में फ़ाइल। यहां ही नैनो संपादक का उपयोग फ़ाइल को संपादित करने के लिए किया जाता है।

$नैनो~/.bashrc

फ़ाइल के अंत में निम्न पंक्ति जोड़ें, फ़ाइल को सहेजें और बंद करें।

दुकानें -एससीडीस्पेल

अब, स्थायी रूप से परिवर्तन की पुष्टि करने के लिए निम्न आदेश चलाएँ।

$स्रोत~/.bashrc

यदि आप उपरोक्त चलाते हैं ' सीडी' टर्मिनल से वर्तनी त्रुटि के साथ कमांड, फिर यह स्वचालित रूप से फ़ोल्डर नाम को सही कर देगा।

$सीडीमुजिक

ज़शो

स्पेलिंग चेकर डिफ़ॉल्ट रूप से zsh शेल में भी सक्षम नहीं है। इसलिए, यदि आप 'इको' कमांड को स्पेलिंग एरर के साथ निम्न कमांड की तरह चलाते हैं तो यह एरर मैसेज दिखाएगा।

%एहको'नमस्ते दुनिया'

खोलना ~/.zshrc किसी भी संपादक में फ़ाइल करें और फ़ाइल के अंत में निम्न पंक्तियाँ जोड़ें। पहली पंक्ति Zsh में वर्तनी परीक्षक को सक्षम करेगी। वर्तनी परीक्षक के डिफ़ॉल्ट विकल्प मान हैं, [न्याए] जो इंगित करता है नहीं, हाँ, निरस्त करें और संपादित करें . उपयोगकर्ता के लिए विकल्पों को अधिक समझने योग्य बनाने के लिए दूसरी पंक्ति डिफ़ॉल्ट मानों को बदल देगी। यहां, नैनो संपादक का उपयोग फ़ाइल को संपादित करने के लिए किया जाता है।

% नैनो~/.zshrc
सही सेट करें
निर्यात SPROMPT='% R से% r तक सही? [हां, नहीं, निरस्त करें, संपादित करें] '

फ़ाइल को सहेजें और बाहर निकलें और परिवर्तन को अद्यतन करने के लिए निम्न आदेश चलाएँ।

% स्रोत~/.zshrc

पिछली कमांड को फिर से चलाएँ और आउटपुट की जाँच करें। अब, उपयोगकर्ता को आउटपुट को सही करने के विकल्प मिलेंगे। यदि आप y टाइप करते हैं तो स्पेलिंग अपने आप ठीक हो जाएगी।

%एहको'नमस्ते दुनिया'

यदि आप रंगों का उपयोग करके आउटपुट को अधिक प्रभावी बनाना चाहते हैं तो रंग को सक्षम करने के लिए zsh शेल से निम्न कमांड चलाएँ।

%स्वत: लोड यू रंग&&रंग की

उसके बाद, निम्न पंक्ति को इसमें जोड़ें ~/.zshrc पहले की तरह फाइल करें।

निर्यात SPROMPT='सही$fg[लाल]% आर$reset_colorप्रति$fg[हरा]% आर$reset_color?
[हां, नहीं, निरस्त करें, संपादित करें] '

अब, किसी भी कमांड को स्पेलिंग एरर के साथ रन करें और आउटपुट चेक करें। यहां, त्रुटि शब्द लाल रंग द्वारा प्रदर्शित किया जाएगा और सही शब्द हरे रंग द्वारा प्रदर्शित किया जाएगा।

%एहको'नमस्ते दुनिया'

विषयों का उपयोग करना

विभिन्न विषयों और प्लगइन्स का उपयोग करके शेल प्रॉम्प्ट के रूप को बदला जा सकता है। शेल के रूप को बदलने के लिए बैश और zsh शेल दोनों में कई प्रकार की थीम होती है। बैश और zsh शेल में थीम का उपयोग कैसे किया जा सकता है, इस लेख के अगले भाग में दिखाया गया है।

दे घुमा के

किसी भी बैश थीम को इंस्टॉल करने के लिए आपको git इंस्टॉल करना होगा। गिट पैकेज स्थापित करने के लिए निम्न आदेश चलाएँ।

$सुडो उपयुक्त-स्थापित करें जाओ

स्थापित करने के बाद जाओ , का क्लोन बनाने के लिए निम्न कमांड चलाएँ बैश-इटो टेम्पलेट।

$गिट क्लोन --गहराई=1https://github.com/बैश-इटो/बैश-it.git ~/.bash_it

स्थापित करने के लिए निम्न आदेश चलाएँ बैश-इटो इसे क्लोन करने के बाद टेम्पलेट। दबाएँ ' तथा ' जब यह बैकअप रखने के लिए कहेगा ~/.bash_profile या ~/.bashrc और परिशिष्ट बैश-इट फ़ाइल के अंत में टेम्पलेट।

इंस्टॉलेशन प्रक्रिया को पूरा करने के बाद निम्न आउटपुट दिखाई देगा।

अब, यदि आप खोलते हैं ~/.bashrc किसी भी संपादक का उपयोग करके फ़ाइल में निम्नलिखित सामग्री होगी। बैश-इट टेम्पलेट के लिए 'बॉबी' को डिफ़ॉल्ट थीम के रूप में सेट किया गया है।

खोल के अद्यतन की पुष्टि करने के लिए निम्न आदेश चलाएँ।

$स्रोत~/.bashrc

टेम्पलेट को ठीक से स्थापित करने के बाद टर्मिनल में निम्न संकेत दिखाई देगा। अब, टर्मिनल बंद करें। जब भी आप टर्मिनल खोलेंगे तो आपको वही बैश प्रॉम्प्ट दिखाई देगा।

के लिए कई थीम उपलब्ध हैं बैश-इट टेम्प्लेट जो विभिन्न तरीकों से बैश प्रॉम्प्ट प्रदर्शित करते हैं। उनमें से एक है ' ईर्ष्या' विषय. यदि आप इस विषय को सेट करना चाहते हैं तो किसी भी संपादक का उपयोग करके ~/.bashrc फ़ाइल खोलें और 'बदलें' BASH_IT_THEME ' के लिए मूल्य' ईर्ष्या '।

फिर से, चलाएँ ' स्रोत ' अद्यतन को स्थायी रूप से पुष्टि करने के लिए आदेश। 'ईर्ष्या' थीम सेट करने के बाद निम्न आउटपुट दिखाई देगा।

ज़शो

बैश की तरह, zsh शेल में कई थीम हैं। zsh विषयों में से एक है ओह-माय-ज़शो . इस विषय को zsh शेल के लिए स्थापित करने के लिए निम्न कमांड चलाएँ।

% श्री -सी '$ (कर्ल -fsSL
https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh) '

थीम इंस्टाल करने के बाद 'प्रेस करें' तथा' zsh को डिफ़ॉल्ट शेल बनाने के लिए।

यह इंस्टॉलेशन प्रक्रिया को पूरा करने के लिए रूट पासवर्ड मांगेगा। इंस्टॉलेशन प्रक्रिया को पूरा करने के बाद निम्न आउटपुट दिखाई देगा।

अब, यदि आप ~/.zshrc फ़ाइल खोलते हैं तो आपको के लिए प्रविष्टियाँ दिखाई देंगी ओह-माय-ज़शो टेम्पलेट। 'रॉबीरससेल' टेम्पलेट के लिए डिफ़ॉल्ट थीम के रूप में सेट किया गया है।

परिवर्तन को स्थायी रूप से रखने के लिए, आपको 'स्रोत' कमांड चलाना होगा।

% स्रोत~/.zshrc

अगर आप थीम को बदलना चाहते हैं ' तीर ' फिर किसी भी संपादक में ~/.zshrc फ़ाइल खोलें और 'का मान बदलें ZSH_THEME ' प्रति 'तीर '।

zsh शेल के लिए स्थायी रूप से परिवर्तन को अद्यतन करने के लिए आपको 'स्रोत' कमांड को फिर से चलाना होगा। इस थीम को सेट करने के बाद निम्न तीर चिन्ह दिखाई देगा।

% स्रोत~/.zshrc

यदि आप टर्मिनल को बंद करते हैं और फिर से zsh शेल खोलते हैं तो निम्न आउटपुट दिखाई देगा।

वाइल्डकार्ड विस्तार का उपयोग करना

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

दे घुमा के

मान लीजिए, आपको 'इको' कमांड का उपयोग करके वर्तमान स्थान के एक्सटेंशन 'लॉग' के साथ सभी फाइलों का पता लगाना है। यहाँ, मान, ' *।लॉग' चर को सौंपा गया है, फ़ाइलें जो सभी लॉग फाइलों की सूची प्रदर्शित करने के लिए 'इको' कमांड में उपयोग किए जाते हैं।

$रास
$फ़ाइलें='*।लॉग'
$फेंक दिया $फ़ाइलें

ज़शो

यदि आप उपरोक्त कमांड को zsh शेल में चलाते हैं तो लॉग फ़ाइल सूची के बजाय $files का मान प्रिंट होगा क्योंकि वाइल्डकार्ड विस्तार zsh शेल के लिए डिफ़ॉल्ट रूप से सक्षम नहीं है।

% रास
% फ़ाइल='*।लॉग'
% फेंक दिया $फ़ाइलें

Zsh के लिए वाइल्डकार्ड विस्तार को सक्षम करने के लिए निम्न आदेश चलाएँ।

% सेट -याGLOB_SUBST

अब, यदि आप पिछली कमांड चलाते हैं तो लॉग फाइलों की सूची प्रदर्शित होगी।

निष्कर्ष

बैश और ज़श लिनक्स उपयोगकर्ताओं के लिए बहुत उपयोगी शेल हैं। दोनों गोले में कुछ उपयोगी विशेषताएं हैं। उपयोगकर्ता आवश्यक कार्य के आधार पर शेल का चयन कर सकता है। इस आलेख में उचित उदाहरणों का उपयोग करके इन दो गोले के बीच कुछ महत्वपूर्ण अंतरों का वर्णन किया गया है। आशा है, इस लेख को पढ़ने के बाद पाठकों के लिए इन दो गोले के बीच के अंतर को साफ कर दिया जाएगा