Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Bash प्रोग्रामिंग

सही लिनक्स शेल चुनना:बैश, ज़ेडएसएच, और फिश - विशेषताएं और लाभ समझाए गए

सही लिनक्स शेल चुनना:बैश, ज़ेडएसएच, और फिश - विशेषताएं और लाभ समझाए गए <पी> जब आप अपना टर्मिनल खोलते हैं, तो संभावना है कि यह बैश को अपने UNIX शेल वातावरण के रूप में उपयोग करता है। लेकिन अन्य "शेल" वातावरण मौजूद हैं।

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

<पी> इस लेख में, मैं आपको किसी एक को चुनने में मदद करने के लिए कुछ लोकप्रिय सीपियों के बारे में उनकी मुख्य विशेषताओं के साथ बताऊंगा।

द बैश शेल

<पी> बैश शेल (या बॉर्न अगेन शेल) एक UNIX शेल और कमांड भाषा है। इसे ब्रेन फॉक्स द्वारा जीएनयू प्रोजेक्ट के लिए बॉर्न शेल (एसएच) के लिए एक मुफ्त सॉफ्टवेयर प्रतिस्थापन के रूप में लिखा गया था। <पी> बैश पहली बार 1989 में जारी किया गया था, और अधिकांश लिनक्स वितरण के लिए यह डिफ़ॉल्ट शेल वातावरण है। काली लिनक्स जैसे अन्य डिस्ट्रोज़, Z शेल को अपने डिफ़ॉल्ट शेल के रूप में उपयोग करते हैं। <पी> बैश उन पहले प्रोग्रामों में से एक है जिसे लाइनस टोरवाल्ड्स (लिनक्स के निर्माता) ने लिनक्स में पोर्ट किया था। <पी> सही लिनक्स शेल चुनना:बैश, ज़ेडएसएच, और फिश - विशेषताएं और लाभ समझाए गए छवि स्रोत <पी> आपको इस बारे में भ्रमित नहीं होना चाहिए कि बैश भी एक प्रोग्रामिंग भाषा है। तो यह एक "शेल" है, लेकिन आप बैश में भी व्यवहार को प्रोग्राम कर सकते हैं। उदाहरण के लिए:

#!/bin/bash
echo "Hello World"

बैश के बारे में मुख्य बातें

  • अधिकांश उपयोगकर्ता बैश का उपयोग करते हैं, क्योंकि यह अधिकांश सिस्टम पर डिफ़ॉल्ट शेल वातावरण है
  • बैश में इनलाइन वाइल्डकार्ड अभिव्यक्ति नहीं है। वाइल्डकार्ड अभिव्यक्ति तब होती है जब आप रेगेक्स के समान अपने शेल में पैटर्न खोजना चाहेंगे। तीन मुख्य वाइल्डकार्ड * हैं , ? , और [] .
  • आप निर्देशिका का नाम स्वचालित रूप से नहीं बदल सकते
  • # इसे स्क्रिप्टिंग
  • में एक टिप्पणी के रूप में माना जाता है
  • इसमें shopt है सेटिंग्स
  • प्रॉम्प्ट में बैकस्लैश एस्केप है
  • उपयोगकर्ता कॉन्फ़िगरेशन सेटिंग्स .bashrc में हैं

Z शैल

<पी> Z शेल, या Zsh भी एक UNIX शेल है जो बैश के समान है। आप कमांड दुभाषिया के रूप में शेल को स्क्रिप्ट और उपयोग भी कर सकते हैं। <पी> Zsh कई सुधारों के साथ बॉर्न शेल का विस्तार है। Zsh को 1990 में पॉल फालस्टेड द्वारा रिलीज़ किया गया था, और इसमें कुछ विशेषताएं हैं जो बैश, कॉर्न शेल और सी शेल साझा करती हैं। <पी> macOS डिफ़ॉल्ट रूप से Zsh शेल का उपयोग करता है। <पी> सही लिनक्स शेल चुनना:बैश, ज़ेडएसएच, और फिश - विशेषताएं और लाभ समझाए गए छवि स्रोत

Zsh के बारे में मुख्य बातें

  • टर्मिनल का उपयोग करते समय स्वतः पूर्णता के साथ आता है। तो जब आप Tab ↹ दबाते हैं आप जो भी कमांड चलाना चाहते हैं उसे स्वत:पूर्ण करने के लिए, यह न केवल आपके लिए स्वत:पूर्ण होता है बल्कि अन्य सभी संभावित फ़ाइलों और निर्देशिकाओं का एक ड्रॉप-डाउन नीचे लाएगा:
<पी> सही लिनक्स शेल चुनना:बैश, ज़ेडएसएच, और फिश - विशेषताएं और लाभ समझाए गए

  • इनलाइन वाइल्डकार्ड अभिव्यक्तियों का समर्थन करता है
  • बैश की तुलना में बहुत अधिक कॉन्फ़िगर करने योग्य
  • प्लगइन और थीम का समर्थन करता है। यहां Zsh के लिए उपलब्ध प्लगइन्स की एक सूची दी गई है।
<पी> Z शैल के चारों ओर ढाँचे भी बनाए गए हैं। सबसे लोकप्रिय में से एक ओह माई ज़श है, जो ज़ेडएच कॉन्फ़िगरेशन के प्रबंधन के लिए एक समुदाय संचालित, ओपन-सोर्स ढांचा है। (मैं ओह माई ज़श 😄 का उपयोग करता हूं)

<पी> सही लिनक्स शेल चुनना:बैश, ज़ेडएसएच, और फिश - विशेषताएं और लाभ समझाए गए छवि स्रोत <पी> Zsh और ओह माय Zsh समान हैं लेकिन बिल्कुल समान नहीं हैं। दोहराने के लिए, ओह माय Zsh आपके Zsh कॉन्फ़िगरेशन को प्रबंधित करने का एक तरीका है, यह स्वयं शेल नहीं है।

मछली का खोल

<पी> मछली एक UNIX शेल वातावरण है जिसमें अन्तरक्रियाशीलता और प्रयोज्यता पर जोर दिया जाता है। Zsh के विपरीत, फिश का लक्ष्य उपयोगकर्ता को अपने स्वयं के कॉन्फ़िगरेशन को लागू करने के लिए भरोसा करने के बजाय डिफ़ॉल्ट रूप से इंटरैक्टिविटी देना है। <पी> इसे 2005 में एक्सल लिलजेंक्रांट्ज़ द्वारा बनाया गया था। मछली को इस तथ्य के कारण "विदेशी शेल" माना जाता है कि यह POSIX शेल मानकों का अनुपालन नहीं करती है। [[स्रोत](https://en.wikipedia.org/wiki/Fish_(Unix_shell)]

<पी> सही लिनक्स शेल चुनना:बैश, ज़ेडएसएच, और फिश - विशेषताएं और लाभ समझाए गए छवि स्रोत

मछली के बारे में मुख्य बातें

  • फिश में आपके कमांड इतिहास और आप जिस निर्देशिका में हैं उसके आधार पर स्वचालित सुझाव "लिखते ही खोजें" होते हैं। बैश के इतिहास खोज के समान, फिश शेल का खोज इतिहास हमेशा होता है चालू किया गया. इस तरह उपयोगकर्ता अपने टर्मिनल में काम करते समय इंटरैक्टिव फीडबैक प्राप्त करने में सक्षम होंगे।
<पी> सही लिनक्स शेल चुनना:बैश, ज़ेडएसएच, और फिश - विशेषताएं और लाभ समझाए गए छवि स्रोत
  • मछली सिंटैक्स के बजाय कमांड के रूप में सुविधाओं को भी प्राथमिकता देती है। यह विकल्पों और सहायता टेक्स्ट के साथ कमांड के संदर्भ में सुविधाओं को दृश्यमान बनाता है
  • चूंकि फिश डिफ़ॉल्ट रूप से पहले से सेट किए गए बहुत सारे कॉन्फ़िगरेशन के साथ आती है, इसलिए इसे अन्य sh की तुलना में शुरुआती लोगों के लिए अधिक अनुकूल माना जाता है। Zsh.
  • जैसे विकल्प
  • मछली की स्क्रिप्टिंग भाषा Zsh और Bash से भिन्न है। Zsh अधिक उपनामों का उपयोग करता है जबकि फिश स्क्रिप्टिंग भाषा में उपनामों का उपयोग करने से बचती है।
<पी> यदि आपको केवल बुनियादी कमांड जैसे, cd का उपयोग करके स्क्रिप्ट बनानी होती , cp , vim , ssh , और इसी तरह, आपको फिश और बैश की स्क्रिप्टिंग भाषाओं के काम करने के तरीके में कोई अंतर नज़र नहीं आएगा। <पी> सबसे बड़े अंतरों में से एक तब होता है जब आप किसी कमांड से आउटपुट कैप्चर करने का प्रयास करते हैं। बैश में आप इसके आदी हो सकते हैं:

todays_date=$(date)
echo "Todays date is $todays_date"
<पी> सही लिनक्स शेल चुनना:बैश, ज़ेडएसएच, और फिश - विशेषताएं और लाभ समझाए गए

Todays Date is Tue Dec 13 15:29:28 CST 2022
<पी> जबकि फिश में आउटपुट कैप्चर करना अलग तरीके से काम करता है। स्क्रिप्टिंग में फिश के लिए समतुल्य इस तरह दिखेगा:

set date (date)
echo "Todays Date $date"
<पी> सही लिनक्स शेल चुनना:बैश, ज़ेडएसएच, और फिश - विशेषताएं और लाभ समझाए गए

todays date is Tue Dec 13 21:35:03 UTC 2022

निष्कर्ष

<पी> बैश, जेड शेल और फिश शेल सभी में कुछ समानताओं के साथ-साथ अपनी खूबियाँ भी हैं। अब आप उनमें से प्रत्येक का अपने कार्य परिवेश में प्रभावी ढंग से उपयोग कर सकते हैं क्योंकि आप उनके बारे में थोड़ा और जान गए हैं। <पी> यदि आप कुछ अधिक कॉन्फ़िगर करने योग्य चाहते हैं, तो आप Zsh का उपयोग कर सकते हैं (या ओह माय Zsh भी इंस्टॉल कर सकते हैं)। यदि आप बहुत अधिक कॉन्फ़िगरेशन के बिना अधिक इंटरैक्टिव टर्मिनल अनुभव चाहते हैं, तो आप फिश शेल का उपयोग कर सकते हैं। यदि आप क्लासिक अनुभव चाहते हैं, तो आप बस बैश रख सकते हैं। <पी> यह सब वास्तव में एक डेवलपर के रूप में आपकी प्राथमिकताओं पर निर्भर करता है - इसलिए बस वह शेल चुनें जो आपके लिए सबसे अच्छा काम करता है।

<पी> उम्मीद है इससे आपको मदद मिली! पढ़ने के लिए धन्यवाद 🐚🐚🐚

<पी> मुफ़्त में कोड करना सीखें. फ्रीकोडकैंप के ओपन सोर्स पाठ्यक्रम ने 40,000 से अधिक लोगों को डेवलपर्स के रूप में नौकरी पाने में मदद की है। आरंभ करें


  1. रेडिस सेटरेंज - रेडिस में स्ट्रिंग मान के एक हिस्से को कैसे अपडेट करें रेडिस सेटरेंज - रेडिस में स्ट्रिंग मान के एक हिस्से को कैसे अपडेट करें

    इस ट्यूटोरियल में, हम सीखेंगे कि रेडिस डेटास्टोर में एक निर्दिष्ट कुंजी पर संग्रहीत स्ट्रिंग मान के एक हिस्से को कैसे अपडेट किया जाए। इसके लिए, हम एक Redis SETRANGE . का उपयोग करेंगे आदेश। सेटरेंज कमांड यह आदेश प्रारंभ (समावेशी) ऑफ़सेट लेता है, जो स्ट्रिंग मान के अद्यतन भाग की प्रारंभ अनुक्रमणिका

  1. एचटीएमएल डोम मूल्य संपत्ति का चयन करें एचटीएमएल डोम मूल्य संपत्ति का चयन करें

    HTML DOM सेलेक्ट वैल्यू प्रॉपर्टी रिटर्न करती है और ड्रॉप-डाउन सूची की वैल्यू एट्रिब्यूट की सामग्री को संशोधित करती है। सिंटैक्स निम्नलिखित वाक्य रचना है - रिटर्निंग वैल्यू object.value मूल्य संशोधित करना object.value = true | false उदाहरण आइए HTML DOM सेलेक्ट वैल्यू प्रॉपर्टी का एक उदाह

  1. PHP में imaglayereffect () फ़ंक्शन का उपयोग करके लेयरिंग प्रभावों का उपयोग करने के लिए अल्फा ब्लेंडिंग ध्वज कैसे सेट करें? PHP में imaglayereffect () फ़ंक्शन का उपयोग करके लेयरिंग प्रभावों का उपयोग करने के लिए अल्फा ब्लेंडिंग ध्वज कैसे सेट करें?

    छवि परत प्रभाव () PHP में एक इनबिल्ट फंक्शन है जिसका उपयोग लेयरिंग इफेक्ट्स का उपयोग करने के लिए अल्फा ब्लेंडिंग फ्लैग को सेट करने के लिए किया जाता है। यह सफलता पर सही या असफलता पर गलत लौटाता है। सिंटैक्स bool imagelayereffect($image, $effect) पैरामीटर छवि परत प्रभाव () दो अलग-अलग पैरामीटर लेता है: