Bash Scripting
- बैश स्क्रिप्टिंग: शुरुआती गाइड
बैश (Bourne Again SHell) एक शक्तिशाली कमांड लाइन इंटरप्रेटर है जो लगभग सभी लिनक्स और मैकओएस सिस्टम पर डिफ़ॉल्ट शेल के रूप में मौजूद होता है। यह आपको कमांड की एक श्रृंखला को एक फ़ाइल में लिखकर स्वचालित करने की अनुमति देता है, जिसे स्क्रिप्ट कहा जाता है। यह लेख शुरुआती लोगों के लिए बैश स्क्रिप्टिंग का एक व्यापक परिचय है, जो बुनियादी अवधारणाओं से लेकर अधिक जटिल तकनीकों तक सब कुछ कवर करता है।
बैश स्क्रिप्टिंग क्या है?
बैश स्क्रिप्टिंग अनिवार्य रूप से कमांड की एक सूची है जिसे शेल द्वारा क्रम में निष्पादित किया जाता है। यह कार्यों को स्वचालित करने, जटिल कार्यों को सरल बनाने और सिस्टम प्रशासन को आसान बनाने का एक शानदार तरीका है। प्रोग्रामिंग भाषाओं के विपरीत, बैश स्क्रिप्टिंग आमतौर पर जटिल लॉजिक को लागू करने के बजाय सिस्टम-स्तरीय कार्यों को करने पर केंद्रित होती है।
पहला बैश स्क्रिप्ट
आइए एक साधारण "हेलो, वर्ल्ड!" बैश स्क्रिप्ट से शुरुआत करें:
```bash
- !/bin/bash
echo "हेलो, वर्ल्ड!" ```
इस स्क्रिप्ट को समझने के लिए, आइए प्रत्येक पंक्ति को तोड़ते हैं:
- `#!/bin/bash`: यह शेबैंग (shebang) लाइन है। यह सिस्टम को बताती है कि स्क्रिप्ट को निष्पादित करने के लिए किस इंटरप्रेटर (बैश) का उपयोग करना है।
- `echo "हेलो, वर्ल्ड!"`: यह `echo` कमांड का उपयोग करके टेक्स्ट "हेलो, वर्ल्ड!" को कंसोल पर प्रिंट करता है।
इस स्क्रिप्ट को निष्पादित करने के लिए:
1. एक टेक्स्ट एडिटर में स्क्रिप्ट को लिखें और इसे `hello.sh` जैसे नाम से सेव करें। 2. स्क्रिप्ट को निष्पादन योग्य बनाएं: `chmod +x hello.sh` 3. स्क्रिप्ट को चलाएं: `./hello.sh`
आपको कंसोल पर "हेलो, वर्ल्ड!" दिखाई देगा।
बुनियादी अवधारणाएँ
- **कमेंट्स (Comments):** कमेंट्स कोड के उन हिस्सों को हैं जिन्हें शेल द्वारा अनदेखा कर दिया जाता है। वे कोड को समझने में मदद करते हैं। कमेंट्स `#` चिह्न से शुरू होते हैं। उदाहरण: `# यह एक कमेंट है`
- **वेरिएबल्स (Variables):** वेरिएबल्स का उपयोग डेटा को स्टोर करने के लिए किया जाता है। वेरिएबल्स को असाइन करने के लिए `=` ऑपरेटर का उपयोग किया जाता है। उदाहरण: `name="जॉन"`। वेरिएबल के मान को एक्सेस करने के लिए `$` चिह्न का उपयोग करें। उदाहरण: `echo "आपका नाम है: $name"`
- **कमांड्स (Commands):** कमांड वे निर्देश हैं जो आप शेल को बताते हैं कि क्या करना है। उदाहरण: `ls`, `cd`, `mkdir`, `rm`, `echo`, `grep`, `find`, `awk`, `sed`, `date`, `pwd`
- **ऑपरेटर्स (Operators):** ऑपरेटर्स का उपयोग वेरिएबल्स और वैल्यूज पर ऑपरेशन करने के लिए किया जाता है। उदाहरण: `+` (जोड़), `-` (घटाव), `*` (गुणा), `/` (भाग), `==` (बराबर), `!=` (बराबर नहीं), `-gt` (से बड़ा), `-lt` (से छोटा)।
- **इनपुट/आउटपुट (Input/Output):** बैश स्क्रिप्ट उपयोगकर्ता से इनपुट ले सकती हैं और आउटपुट प्रदर्शित कर सकती हैं। `read` कमांड का उपयोग उपयोगकर्ता से इनपुट लेने के लिए किया जाता है। `echo` कमांड का उपयोग आउटपुट प्रदर्शित करने के लिए किया जाता है।
नियंत्रण संरचनाएँ
नियंत्रण संरचनाएँ आपको अपने स्क्रिप्ट के प्रवाह को नियंत्रित करने की अनुमति देती हैं।
- **if स्टेटमेंट:** `if` स्टेटमेंट का उपयोग एक शर्त के आधार पर कोड के एक ब्लॉक को निष्पादित करने के लिए किया जाता है।
```bash if [ "$age" -gt 18 ]; then
echo "आप वोट देने के लिए पात्र हैं।"
else
echo "आप वोट देने के लिए पात्र नहीं हैं।"
fi ```
- **case स्टेटमेंट:** `case` स्टेटमेंट का उपयोग कई संभावित वैल्यूज के आधार पर कोड के एक ब्लॉक को निष्पादित करने के लिए किया जाता है।
```bash case $fruit in
"apple") echo "यह एक सेब है।" ;; "banana") echo "यह एक केला है।" ;; *) echo "यह एक अज्ञात फल है।" ;;
esac ```
- **for लूप:** `for` लूप का उपयोग कोड के एक ब्लॉक को कई बार निष्पादित करने के लिए किया जाता है।
```bash for i in 1 2 3 4 5; do
echo "संख्या: $i"
done ```
- **while लूप:** `while` लूप का उपयोग एक शर्त के सत्य होने तक कोड के एक ब्लॉक को निष्पादित करने के लिए किया जाता है।
```bash count=1 while [ $count -le 5 ]; do
echo "गणना: $count" count=$((count + 1))
done ```
फ़ंक्शन
फ़ंक्शन कोड के पुन: प्रयोज्य ब्लॉक होते हैं। वे आपके स्क्रिप्ट को अधिक व्यवस्थित और पठनीय बनाने में मदद करते हैं।
```bash greet() {
echo "नमस्ते, $1!"
}
greet "जॉन" greet "मैरी" ```
कमांड लाइन तर्क
आप अपने स्क्रिप्ट को कमांड लाइन तर्क पास कर सकते हैं। इन तर्कों को `$1`, `$2`, `$3` आदि जैसे वेरिएबल्स में एक्सेस किया जा सकता है। `$0` स्क्रिप्ट के नाम को दर्शाता है।
```bash
- !/bin/bash
echo "पहला तर्क: $1" echo "दूसरा तर्क: $2" ```
इस स्क्रिप्ट को `script.sh arg1 arg2` के रूप में चलाया जा सकता है।
नियमित अभिव्यक्ति (Regular Expressions)
रेगुलर एक्सप्रेशन (regex) टेक्स्ट में पैटर्न खोजने के लिए शक्तिशाली उपकरण हैं। बैश में, आप `grep`, `sed`, और `awk` जैसे कमांड के साथ regex का उपयोग कर सकते हैं।
फाइल हैंडलिंग
बैश स्क्रिप्ट फ़ाइलों को पढ़ और लिख सकती हैं।
- `cat`: फ़ाइल की सामग्री प्रदर्शित करता है।
- `head`: फ़ाइल की शुरुआत से कुछ पंक्तियाँ प्रदर्शित करता है।
- `tail`: फ़ाइल के अंत से कुछ पंक्तियाँ प्रदर्शित करता है।
- `wc`: फ़ाइल में पंक्तियों, शब्दों और वर्णों की संख्या गिनता है।
- `> `: फ़ाइल में आउटपुट को रीडायरेक्ट करता है (फ़ाइल को ओवरराइट करता है)।
- `>>`: फ़ाइल में आउटपुट को जोड़ता है।
उन्नत बैश स्क्रिप्टिंग तकनीकें
- **एरे (Arrays):** एरे आपको कई वैल्यूज को एक वेरिएबल में स्टोर करने की अनुमति देते हैं।
- **एसोसिएशन एरे (Associative Arrays):** एसोसिएशन एरे आपको कुंजी-मूल्य जोड़े को स्टोर करने की अनुमति देते हैं।
- **सिग्नल हैंडलिंग (Signal Handling):** सिग्नल हैंडलिंग आपको स्क्रिप्ट को कुछ घटनाओं (जैसे कि उपयोगकर्ता द्वारा Ctrl+C दबाना) पर प्रतिक्रिया करने की अनुमति देता है।
- **प्रोसेस सब्स्टिट्यूशन (Process Substitution):** प्रोसेस सब्स्टिट्यूशन आपको एक कमांड के आउटपुट को फ़ाइल के रूप में उपयोग करने की अनुमति देता है।
- **हेरे डॉक्यूमेंट्स (Here Documents):** हेरे डॉक्यूमेंट्स आपको मल्टीलाइन टेक्स्ट को एक वेरिएबल में स्टोर करने की अनुमति देते हैं।
त्रुटि हैंडलिंग
त्रुटि हैंडलिंग आपके स्क्रिप्ट को अधिक मजबूत बनाने के लिए महत्वपूर्ण है। आप `set -e` कमांड का उपयोग करके स्क्रिप्ट को किसी भी त्रुटि पर तुरंत बाहर निकलने के लिए मजबूर कर सकते हैं। आप `||` ऑपरेटर का उपयोग करके त्रुटि संदेश प्रदर्शित कर सकते हैं।
```bash command || echo "त्रुटि हुई।" ```
उपयोगी टिप्स
- अपने स्क्रिप्ट को अच्छी तरह से कमेंट करें।
- वेरिएबल नामों का उपयोग करें जो वर्णनात्मक हों।
- अपने कोड को इंडेंट करें ताकि यह पठनीय हो।
- त्रुटि हैंडलिंग का उपयोग करें।
- अपने स्क्रिप्ट का परीक्षण करें।
बैश स्क्रिप्टिंग के उदाहरण
- एक स्क्रिप्ट जो सभी `.txt` फ़ाइलों को एक निर्देशिका में खोजती है और उन्हें एक नई निर्देशिका में कॉपी करती है।
- एक स्क्रिप्ट जो एक वेब सर्वर की स्थिति की जांच करती है।
- एक स्क्रिप्ट जो एक डेटाबेस का बैकअप लेती है।
- एक स्क्रिप्ट जो एक लॉग फ़ाइल का विश्लेषण करती है और कुछ आँकड़े उत्पन्न करती है।
निष्कर्ष
बैश स्क्रिप्टिंग एक शक्तिशाली उपकरण है जो आपको कार्यों को स्वचालित करने, जटिल कार्यों को सरल बनाने और सिस्टम प्रशासन को आसान बनाने में मदद कर सकता है। यह लेख आपको बैश स्क्रिप्टिंग की बुनियादी अवधारणाओं से परिचित कराता है। अभ्यास के साथ, आप अधिक जटिल स्क्रिप्ट लिखना सीख सकते हैं और अपने सिस्टम को अधिक कुशलता से प्रबंधित कर सकते हैं।
बाइनरी विकल्प के साथ संबंध
यद्यपि बैश स्क्रिप्टिंग सीधे तौर पर बाइनरी विकल्प ट्रेडिंग से संबंधित नहीं है, लेकिन इसका उपयोग स्वचालित ट्रेडिंग सिस्टम बनाने या डेटा विश्लेषण करने के लिए किया जा सकता है। उदाहरण के लिए, आप एक बैश स्क्रिप्ट लिख सकते हैं जो एक तकनीकी विश्लेषण संकेतक की गणना करता है और यदि कुछ शर्तें पूरी होती हैं तो एक व्यापारिक निर्णय लेता है। आप वॉल्यूम विश्लेषण डेटा को संसाधित करने और संभावित रुझानों की पहचान करने के लिए भी बैश स्क्रिप्ट का उपयोग कर सकते हैं। इस तरह, बैश स्क्रिप्टिंग ट्रेडिंग रणनीतियों को स्वचालित करने और जोखिम प्रबंधन में सुधार करने में मदद कर सकती है।
कमांड | विवरण | `ls` | निर्देशिका की सामग्री सूचीबद्ध करता है। | `cd` | निर्देशिका बदलता है। | `mkdir` | एक नई निर्देशिका बनाता है। | `rm` | फ़ाइलें या निर्देशिकाएँ हटाता है। | `echo` | टेक्स्ट प्रदर्शित करता है। | `grep` | टेक्स्ट में पैटर्न खोजता है। | `find` | फ़ाइलें खोजता है। | `awk` | टेक्स्ट प्रोसेसिंग टूल। | `sed` | टेक्स्ट स्ट्रीम को संपादित करता है। | `date` | वर्तमान तिथि और समय प्रदर्शित करता है। | `pwd` | वर्तमान कार्यशील निर्देशिका प्रदर्शित करता है। |
बाइनरी विकल्प ट्रेडिंग में, तकनीकी संकेतक का उपयोग करके स्वचालित ट्रेडिंग सिस्टम बनाने के लिए बैश स्क्रिप्टिंग का उपयोग किया जा सकता है। जोखिम प्रबंधन के लिए स्क्रिप्टिंग का उपयोग करके स्वचालित स्टॉप-लॉस ऑर्डर सेट किए जा सकते हैं। बाजार विश्लेषण के लिए डेटा को संसाधित करने के लिए भी बैश स्क्रिप्ट का उपयोग किया जा सकता है। ट्रेडिंग एल्गोरिदम को स्वचालित करने में इसका महत्वपूर्ण योगदान है। लाभप्रदता विश्लेषण के लिए स्क्रिप्टिंग का उपयोग करके ऐतिहासिक डेटा का विश्लेषण किया जा सकता है। पूंजी प्रबंधन को अनुकूलित करने के लिए भी स्क्रिप्टिंग का उपयोग किया जा सकता है। ट्रेडिंग मनोविज्ञान को समझने के लिए डेटा को संसाधित करके पैटर्न खोजे जा सकते हैं। बाजार की भविष्यवाणी के लिए स्क्रिप्टिंग का उपयोग करके ऐतिहासिक डेटा का विश्लेषण किया जा सकता है। ट्रेडिंग प्लेटफॉर्म के साथ इंटरफेस करने के लिए भी स्क्रिप्टिंग का उपयोग किया जा सकता है। बाइनरी विकल्प रणनीति को स्वचालित करने के लिए बैश स्क्रिप्टिंग एक शक्तिशाली उपकरण है।
अभी ट्रेडिंग शुरू करें
IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)
हमारे समुदाय में शामिल हों
हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री