Shell scripting

From binaryoption
Jump to navigation Jump to search
Баннер1
  1. शेल स्क्रिप्टिंग: शुरुआती के लिए एक विस्तृत गाइड

शेल स्क्रिप्टिंग एक शक्तिशाली तकनीक है जो आपको कमांड्स की एक श्रृंखला को स्वचालित करने की अनुमति देती है। यह लिनक्स, मैकओएस, और अन्य यूनिक्स-जैसे ऑपरेटिंग सिस्टम पर विशेष रूप से उपयोगी है। यह लेख शुरुआती लोगों के लिए शेल स्क्रिप्टिंग की मूल बातें समझाने के लिए बनाया गया है, जिसमें अवधारणाओं, सिंटैक्स और उदाहरण शामिल हैं। हम इसे प्रोग्रामिंग के दृष्टिकोण से देखेंगे, लेकिन शेल स्क्रिप्टिंग के विशिष्ट उपयोगों पर भी ध्यान केंद्रित करेंगे।

शेल स्क्रिप्टिंग क्या है?

शेल स्क्रिप्टिंग अनिवार्य रूप से एक टेक्स्ट फाइल में लिखे गए कमांड्स का एक सेट है। ये कमांड्स तब एक के बाद एक निष्पादित होते हैं, जैसे कि आप उन्हें मैन्युअल रूप से कमांड लाइन इंटरफेस (CLI) में टाइप कर रहे हों। स्क्रिप्टिंग का उपयोग दोहराए जाने वाले कार्यों को स्वचालित करने, सिस्टम प्रशासन कार्यों को सरल बनाने और जटिल प्रक्रियाओं को प्रबंधित करने के लिए किया जा सकता है। यह ऑटोमेशन के लिए एक महत्वपूर्ण उपकरण है।

शेल क्या है?

शेल वह इंटरफेस है जिसके माध्यम से आप ऑपरेटिंग सिस्टम के साथ बातचीत करते हैं। यह आपके कमांड्स को समझता है और उन्हें ऑपरेटिंग सिस्टम को बताता है कि क्या करना है। कई अलग-अलग प्रकार के शेल उपलब्ध हैं, जिनमें शामिल हैं:

  • बैश (Bourne Again Shell): सबसे आम शेल, और अधिकांश लिनक्स वितरणों में डिफ़ॉल्ट शेल।
  • ज़ेडश (Z Shell): बैश के समान, लेकिन अधिक अनुकूलन योग्य और सुविधाओं से भरपूर।
  • केश (Korn Shell): बैश का एक पूर्ववर्ती, अभी भी कुछ प्रणालियों पर उपयोग किया जाता है।
  • सीएसएच (C Shell) और टीसीएसएच (TENEX C Shell): C प्रोग्रामिंग भाषा के समान सिंटैक्स का उपयोग करते हैं।

इस लेख में, हम बैश शेल पर ध्यान केंद्रित करेंगे, क्योंकि यह सबसे व्यापक रूप से उपयोग किया जाता है।

पहला शेल स्क्रिप्ट

आइए एक सरल "हेलो, वर्ल्ड!" स्क्रिप्ट लिखें:

```bash

  1. !/bin/bash

echo "हेलो, वर्ल्ड!" ```

इस स्क्रिप्ट को `hello.sh` नाम से सेव करें।

यहाँ प्रत्येक पंक्ति का अर्थ है:

  • `#!/bin/bash`: यह "shebang" लाइन है। यह ऑपरेटिंग सिस्टम को बताती है कि स्क्रिप्ट को निष्पादित करने के लिए किस इंटरप्रेटर (इस मामले में, बैश) का उपयोग करना है।
  • `echo "हेलो, वर्ल्ड!"`: यह `echo` कमांड का उपयोग करके "हेलो, वर्ल्ड!" पाठ को स्क्रीन पर प्रिंट करता है।

स्क्रिप्ट को निष्पादित करने के लिए, आपको इसे निष्पादन योग्य बनाने की आवश्यकता है:

```bash chmod +x hello.sh ```

फिर आप इसे इस प्रकार चला सकते हैं:

```bash ./hello.sh ```

यह स्क्रीन पर "हेलो, वर्ल्ड!" प्रिंट करेगा।

वेरिएबल्स

वेरिएबल्स का उपयोग डेटा को संग्रहीत करने के लिए किया जाता है। शेल स्क्रिप्टिंग में, वेरिएबल्स को इस प्रकार परिभाषित किया जाता है:

```bash variable_name=value ```

उदाहरण के लिए:

```bash name="जॉन डो" echo "नमस्ते, $name!" ```

यह स्क्रीन पर "नमस्ते, जॉन डो!" प्रिंट करेगा। ध्यान दें कि वेरिएबल के मान को एक्सेस करने के लिए आपको `$` चिह्न का उपयोग करना होगा।

डेटा प्रकार शेल स्क्रिप्टिंग में स्पष्ट रूप से परिभाषित नहीं किए गए हैं। सब कुछ एक स्ट्रिंग के रूप में माना जाता है।

इनपुट और आउटपुट

  • `echo`: स्क्रीन पर टेक्स्ट प्रिंट करने के लिए उपयोग किया जाता है।
  • `read`: उपयोगकर्ता से इनपुट प्राप्त करने के लिए उपयोग किया जाता है।

उदाहरण:

```bash read -p "आपका नाम क्या है? " name echo "नमस्ते, $name!" ```

यह उपयोगकर्ता को "आपका नाम क्या है?" प्रॉम्प्ट करेगा और उपयोगकर्ता द्वारा दर्ज किए गए नाम को `name` वेरिएबल में संग्रहीत करेगा। फिर यह "नमस्ते, [उपयोगकर्ता का नाम]!" प्रिंट करेगा।

कंडीशनल स्टेटमेंट

कंडीशनल स्टेटमेंट आपको कुछ शर्तों के आधार पर अलग-अलग कोड ब्लॉक को निष्पादित करने की अनुमति देते हैं। सबसे आम कंडीशनल स्टेटमेंट `if`, `elif` (else if), और `else` हैं।

```bash if [ condition ]; then

 # कंडीशन सत्य होने पर निष्पादित होने वाला कोड

elif [ another_condition ]; then

 # कंडीशन असत्य होने और another_condition सत्य होने पर निष्पादित होने वाला कोड

else

 # सभी शर्तें असत्य होने पर निष्पादित होने वाला कोड

fi ```

उदाहरण:

```bash age=20 if [ $age -ge 18 ]; then

 echo "आप वोट करने के लिए पात्र हैं।"

else

 echo "आप वोट करने के लिए पात्र नहीं हैं।"

fi ```

यह जांचता है कि `age` वेरिएबल 18 से अधिक या बराबर है या नहीं। यदि यह है, तो यह "आप वोट करने के लिए पात्र हैं।" प्रिंट करेगा। अन्यथा, यह "आप वोट करने के लिए पात्र नहीं हैं।" प्रिंट करेगा।

लूप्स

लूप्स आपको कई बार एक कोड ब्लॉक को निष्पादित करने की अनुमति देते हैं। शेल स्क्रिप्टिंग में, सबसे आम लूप्स `for` और `while` हैं।

  • `for` लूप:

```bash for variable in list; do

 # प्रत्येक आइटम के लिए निष्पादित होने वाला कोड

done ```

उदाहरण:

```bash for fruit in apple banana orange; do

 echo "फल: $fruit"

done ```

यह "फल: apple", "फल: banana", और "फल: orange" प्रिंट करेगा।

  • `while` लूप:

```bash while [ condition ]; do

 # कंडीशन सत्य होने पर निष्पादित होने वाला कोड

done ```

उदाहरण:

```bash count=0 while [ $count -lt 5 ]; do

 echo "काउंट: $count"
 count=$((count + 1))

done ```

यह "काउंट: 0", "काउंट: 1", "काउंट: 2", "काउंट: 3", और "काउंट: 4" प्रिंट करेगा।

फंक्शन

फंक्शन आपको कोड के ब्लॉक को व्यवस्थित करने और पुन: उपयोग करने की अनुमति देते हैं। एक फंक्शन को इस प्रकार परिभाषित किया जाता है:

```bash function function_name() {

 # फंक्शन के अंदर का कोड

} ```

उदाहरण:

```bash function greet() {

 echo "नमस्ते, $1!"

}

greet "जॉन" ```

यह "नमस्ते, जॉन!" प्रिंट करेगा। `$1` फंक्शन को पास किए गए पहले तर्क को संदर्भित करता है।

कमांड्स और ऑपरेटर

शेल स्क्रिप्टिंग में कई उपयोगी कमांड्स और ऑपरेटर उपलब्ध हैं। कुछ उदाहरण:

  • `ls`: फ़ाइलों और निर्देशिकाओं को सूचीबद्ध करता है।
  • `cd`: निर्देशिका बदलता है।
  • `mkdir`: एक नई निर्देशिका बनाता है।
  • `rm`: फ़ाइलों और निर्देशिकाओं को हटाता है।
  • `cp`: फ़ाइलों और निर्देशिकाओं को कॉपी करता है।
  • `mv`: फ़ाइलों और निर्देशिकाओं को स्थानांतरित करता है।
  • `-eq`: बराबर
  • `-ne`: बराबर नहीं
  • `-gt`: से बड़ा
  • `-lt`: से छोटा
  • `-ge`: से बड़ा या बराबर
  • `-le`: से छोटा या बराबर
  • `&&`: AND ऑपरेटर
  • `||`: OR ऑपरेटर

एरर हैंडलिंग

शेल स्क्रिप्टिंग में एरर हैंडलिंग महत्वपूर्ण है। आप `set -e` कमांड का उपयोग करके स्क्रिप्ट को किसी भी कमांड के विफल होने पर तुरंत बाहर निकलने के लिए सेट कर सकते हैं। आप `||` ऑपरेटर का उपयोग करके एरर मैसेज भी प्रिंट कर सकते हैं।

उदाहरण:

```bash set -e mkdir new_directory || echo "निर्देशिका बनाने में विफल।" ```

यह `new_directory` बनाने की कोशिश करेगा। यदि कमांड विफल हो जाता है, तो यह "निर्देशिका बनाने में विफल।" प्रिंट करेगा।

उन्नत अवधारणाएं

  • रेगुलर एक्सप्रेशन: टेक्स्ट पैटर्न को खोजने और बदलने के लिए उपयोग किया जाता है।
  • पाइपिंग: एक कमांड के आउटपुट को दूसरे कमांड के इनपुट के रूप में उपयोग करने के लिए उपयोग किया जाता है।
  • रिडायरेक्शन: कमांड के आउटपुट को एक फाइल में रीडायरेक्ट करने या एक फाइल से इनपुट लेने के लिए उपयोग किया जाता है।
  • एरे: एक ही वेरिएबल में कई मान संग्रहीत करने के लिए उपयोग किया जाता है।
  • एसोसिएटिव एरे: कुंजी-मूल्य जोड़े संग्रहीत करने के लिए उपयोग किया जाता है।

शेल स्क्रिप्टिंग के उपयोग के मामले

  • सिस्टम प्रशासन: बैकअप, लॉग रोटेशन, यूजर मैनेजमेंट, आदि।
  • सॉफ्टवेयर डेवलपमेंट: बिल्ड ऑटोमेशन, टेस्टिंग, डिप्लॉयमेंट।
  • डेटा प्रोसेसिंग: टेक्स्ट प्रोसेसिंग, डेटा ट्रांसफॉर्मेशन, रिपोर्ट जनरेशन।
  • नेटवर्क मैनेजमेंट: नेटवर्क मॉनिटरिंग, कॉन्फ़िगरेशन मैनेजमेंट।
  • वित्तीय मॉडलिंग: डेटा विश्लेषण और स्वचालित रिपोर्टिंग।
  • एल्गोरिथम ट्रेडिंग: स्वचालित व्यापार रणनीतियों का कार्यान्वयन (हालांकि सावधानी बरतें और जोखिमों को समझें)।
  • जोखिम प्रबंधन: स्क्रिप्ट का उपयोग जोखिम मूल्यांकन और निगरानी के लिए किया जा सकता है।
  • पोर्टफोलियो अनुकूलन: स्क्रिप्ट का उपयोग पोर्टफोलियो प्रदर्शन को ट्रैक करने और अनुकूलित करने के लिए किया जा सकता है।
  • तकनीकी विश्लेषण: ऐतिहासिक डेटा का विश्लेषण करने और व्यापारिक संकेतों को उत्पन्न करने के लिए स्क्रिप्ट का उपयोग किया जा सकता है।
  • वॉल्यूम विश्लेषण: ट्रेडिंग वॉल्यूम पैटर्न की पहचान करने के लिए स्क्रिप्ट का उपयोग किया जा सकता है।
  • बैकटेस्टिंग: ऐतिहासिक डेटा पर व्यापार रणनीतियों का परीक्षण करने के लिए स्क्रिप्ट का उपयोग किया जा सकता है।
  • ऑर्डर प्रबंधन: स्वचालित रूप से ऑर्डर देने और प्रबंधित करने के लिए स्क्रिप्ट का उपयोग किया जा सकता है।
  • बाजार डेटा डाउनलोड: स्वचालित रूप से बाजार डेटा डाउनलोड करने के लिए स्क्रिप्ट का उपयोग किया जा सकता है।
  • अलर्ट सिस्टम: विशिष्ट बाजार स्थितियों के लिए अलर्ट उत्पन्न करने के लिए स्क्रिप्ट का उपयोग किया जा सकता है।

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

शेल स्क्रिप्टिंग उदाहरण

शेल स्क्रिप्टिंग डिबगिंग

शेल स्क्रिप्टिंग सुरक्षा

बैश प्रोग्रामिंग

एडवांस्ड बैश स्क्रिप्टिंग

लिनक्स कमांड्स

यूनिक्स ट्यूटोरियल

ऑटोमेशन उपकरण

सिस्टम एडमिनिस्ट्रेशन

प्रोग्रामिंग भाषाएं

विभिन्न शेल

रेगुलर एक्सप्रेशन ट्यूटोरियल

पाइपिंग और रीडायरेक्शन

एरे और एसोसिएटिव एरे

शेल स्क्रिप्टिंग संसाधन

शेल स्क्रिप्टिंग समुदाय

शेल फंक्शन

शेल स्क्रिप्टिंग एरर हैंडलिंग

शेल स्क्रिप्टिंग सर्वोत्तम अभ्यास

शेल स्क्रिप्टिंग और वित्तीय विश्लेषण

शेल स्क्रिप्टिंग और ट्रेडिंग

शेल स्क्रिप्टिंग और डेटा विश्लेषण

शेल स्क्रिप्टिंग और तकनीकी संकेतक

शेल स्क्रिप्टिंग और जोखिम मूल्यांकन

अभी ट्रेडिंग शुरू करें

IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)

हमारे समुदाय में शामिल हों

हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री

Баннер