अध्याय 1: बैश शैल स्क्रिप्टिंग का परिचय
बैश, बॉर्न अगेन शेल का संक्षिप्त रूप, लिनक्स और मैकओएस जैसे यूनिक्स-आधारित ऑपरेटिंग सिस्टम के लिए डिफ़ॉल्ट शेल के रूप में कार्य करता है। यह ऑपरेटिंग सिस्टम को प्रबंधित करने के लिए एक उपयोगकर्ता-अनुकूल इंटरफ़ेस प्रदान करता है और एक शक्तिशाली स्क्रिप्टिंग भाषा है जिसका उपयोग कार्यों को स्वचालित करने, प्रक्रियाओं को सुव्यवस्थित करने और उत्पादकता बढ़ाने के लिए किया जाता है। यह मैनुअल आपको बैश स्क्रिप्टिंग के बुनियादी सिद्धांतों के माध्यम से मार्गदर्शन करने के लिए डिज़ाइन किया गया है। अंत तक, आपके पास यूनिक्स/लिनक्स वातावरण में अपनी दक्षता और दक्षता बढ़ाने, विविध अनुप्रयोगों के लिए बैश का लाभ उठाने का ज्ञान होगा।
अध्याय 2: बैश शेल को समझना
2.1: सिंहावलोकन
बैश, बॉर्न शेल का एक उन्नत और पिछड़ा-संगत संस्करण, यूनिक्स और लिनक्स सिस्टम के लिए मौलिक है। हालाँकि इसका उपयोग मुख्य रूप से यूनिक्स/लिनक्स पर किया जाता है, यह macOS में भी शामिल है और इसे विंडोज़ पर लिनक्स सबसिस्टम फॉर लिनक्स (डब्ल्यूएसएल) जैसे टूल का उपयोग करके एक्सेस किया जा सकता है।
2.2: लर्निंग बैश के लाभ
- लोकप्रियता: बैश यूनिक्स/लिनक्स सिस्टम के लिए सबसे प्रचलित शेल स्क्रिप्टिंग भाषा है।
- लंबी उम्र: 1989 में प्रस्तुत, बैश आज भी प्रासंगिक और शक्तिशाली बना हुआ है।
- बहुमुखी प्रतिभा: बैश में लिखी गई स्क्रिप्ट कई ऑपरेटिंग सिस्टम पर चल सकती हैं।
- स्वचालन: बैश स्क्रिप्ट दोहराए जाने वाले कार्यों को स्वचालित कर सकती है, जिससे उत्पादकता बढ़ती है।
- एकीकरण: बैश अन्य टूल और भाषाओं के साथ इंटरैक्ट और नियंत्रण कर सकता है।
2.3: बैश की सीमाएँ
अपनी शक्ति के बावजूद, बैश सभी कार्यों के लिए उपयुक्त नहीं है। ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग, जटिल सिंटैक्स स्क्रिप्टिंग और उन्नत सिस्टम प्रबंधन के लिए, अन्य भाषाएँ या उपकरण बेहतर उपयुक्त हो सकते हैं।
अध्याय 3: पूर्वापेक्षाएँ
3.1: ऑपरेटिंग सिस्टम
यूनिक्स/लिनक्स के मूल निवासी होने पर, बैश का उपयोग WSL या macOS के साथ विंडोज़ पर किया जा सकता है।
3.2: बुनियादी लिनक्स ज्ञान
बुनियादी लिनक्स कमांड और फ़ाइल सिस्टम संरचना की समझ से आपके सीखने में बहुत लाभ होगा।
अध्याय 4: बुनियादी आदेशों से शुरू करना
बैश स्क्रिप्टिंग की नींव रखने के लिए, आइए बुनियादी टर्मिनल कमांड से शुरुआत करें:
आज्ञा | विवरण | उदाहरण |
---|---|---|
echo | पारित पाठ को तर्क के रूप में प्रदर्शित करता है। | echo Hello |
cat | किसी फ़ाइल की सामग्री प्रदर्शित करता है. | cat file.txt |
अध्याय 5: अभिव्यक्ति का परीक्षण
बैश प्रदान करता है test
या वर्गाकार कोष्ठक [ ]
भावों का मूल्यांकन करना। उदाहरण के लिए:
बैशकॉपी कोड# Using the `test` command
test "Hello" = "Hello"
# Using square brackets
[ "Hello" = "Hello" ]
अध्याय 6: सशर्त कथन
बैश समर्थन करता है if-elif-else
निर्माण और case
निर्णय लेने के लिए वक्तव्य.
6.1: यदि-एलिफ़-अन्यथा
बैशकॉपी कोडif [ "$1" = "admin" ]; then
echo "Oh, you're the boss here. Welcome."
elif [ "$1" = "help" ]; then
echo "Just enter your username, please."
else
echo "I don't know who you are, but you're not the boss of me."
fi
6.2: केस
बैशकॉपी कोडcase "$1" in
"admin")
echo "Oh, you're the boss here. Welcome."
;;
"help")
echo "Just enter your username, please."
;;
*)
echo "I don't know who you are, but you're not the boss of me."
;;
esac
अध्याय 7: ऐरे और लूप्स
बैश में ऐरे और लूप कई मानों के हेरफेर की सुविधा प्रदान करते हैं।
7.1: सारणियाँ
बैशकॉपी कोडmy_first_list=(1 2 3 4 5)
# Accessing the first element of the array
echo ${my_first_list[0]}
7.2: लूप्स
बैशकॉपी कोड# Using for loop to print array elements
for element in ${my_first_list[*]}
do
echo $element
done
अध्याय 8: कार्य
बैश में फ़ंक्शंस आपको कोड को व्यवस्थित करने, पुन: उपयोग करने और मॉड्यूलराइज़ करने की अनुमति देते हैं।
bashCopy codeshow_uptime() {
local up=$(uptime -p | cut -d' ' -f2) # Get uptime
local since=$(uptime -s) # Get start time
cat <<- EOF
-----------
This machine has been up for ${up}.
It has been running since ${since}.
-----------
EOF
}
अध्याय 9: ऑक और सेड के साथ टेक्स्ट प्रोसेसिंग
बैश में टेक्स्ट डेटा को संसाधित करने और हेरफेर करने के लिए Awk और Sed शक्तिशाली उपकरण हैं।
9.1: ओह
Awk सिर्फ एक टेक्स्ट प्रोसेसर नहीं है बल्कि एक संपूर्ण प्रोग्रामिंग भाषा है जो इनपुट टेक्स्ट पर जटिल संचालन की अनुमति देती है।
9.2: सेड
सेड, स्ट्रीम एडिटर का संक्षिप्त रूप, एक उपयोगिता है जिसका उपयोग टेक्स्ट परिवर्तन करने के लिए किया जाता है। ध्यान दें, Sed फ़ाइलों को उसी स्थान पर संपादित नहीं करता जब तक कि -i
विकल्प का उपयोग किया जाता है, और यह सुनिश्चित करना महत्वपूर्ण है कि सीखते समय आपके पास बैकअप हो या कॉपी पर काम करें।
बैशकॉपी कोड# Replacing 'fly' with 'grasshopper' in set_test.txt
sed 's/fly/grasshopper/g' set_test.txt
यह मैनुअल बैश शेल स्क्रिप्टिंग के परिचय के रूप में कार्य करता है। अभ्यास के साथ, आप बैश स्क्रिप्टिंग के साथ सहज हो जाएंगे, जिससे आपके कंप्यूटिंग वातावरण में शक्तिशाली स्वचालन और प्रबंधन संभावनाओं की दुनिया खुल जाएगी।
-
बैश और शेल स्क्रिप्टिंग में क्या अंतर है?
शेल स्क्रिप्टिंग एक व्यापक शब्द है जिसमें बॉर्न शेल (एसएच), बॉर्न अगेन शेल (बैश), कॉर्न शेल (केएसएच), सी शेल (सीएसएच) आदि जैसे विभिन्न शेल्स के लिए लिखी गई स्क्रिप्ट शामिल हैं। बैश स्क्रिप्टिंग विशेष रूप से बैश के लिए स्क्रिप्टिंग को संदर्भित करती है। शेल, जो एक नया, सुविधा संपन्न और अधिक लोकप्रिय शेल है।
-
क्या बैश स्क्रिप्टिंग शुरू करने से पहले मुझे लिनक्स कमांड जानने की जरूरत है?
हां, बैश स्क्रिप्टिंग से शुरुआत करते समय लिनक्स कमांड की बुनियादी समझ फायदेमंद होती है क्योंकि बैश स्क्रिप्ट अनिवार्य रूप से कुछ नियंत्रण तर्क के साथ अनुक्रम में निष्पादित लिनक्स कमांड की एक श्रृंखला होती है।
-
क्या मैं अपनी बैश स्क्रिप्ट को लिनक्स के अलावा अन्य ऑपरेटिंग सिस्टम पर निष्पादित कर सकता हूँ?
हां, आप बैश स्क्रिप्ट को किसी भी ऑपरेटिंग सिस्टम पर निष्पादित कर सकते हैं जिसमें बैश शेल उपलब्ध है। इसमें यूनिक्स सिस्टम, मैकओएस और विंडोज के साथ लिनक्स के लिए विंडोज सबसिस्टम (डब्ल्यूएसएल) स्थापित शामिल है।
-
क्या बैश स्क्रिप्टिंग पायथन या पर्ल जैसी अन्य प्रोग्रामिंग भाषाओं की आवश्यकता को प्रतिस्थापित कर सकती है?
जबकि बैश स्क्रिप्टिंग कई सिस्टम-स्तरीय कार्यों और सरल स्क्रिप्टिंग आवश्यकताओं के लिए शक्तिशाली और पर्याप्त है, इसका उद्देश्य पायथन या पर्ल जैसी सामान्य प्रयोजन प्रोग्रामिंग भाषाओं को प्रतिस्थापित करना नहीं है। जटिल डेटा संरचनाएं, ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग और कुछ अन्य कार्यों को पायथन जैसी भाषाओं में बेहतर तरीके से संभाला जाता है।
-
मैंने एक बैश स्क्रिप्ट लिखी है लेकिन यह क्रियान्वित नहीं हो रही है। क्या ग़लत हो सकता है?
बैश स्क्रिप्ट निष्पादित न होने के कई कारण हो सकते हैं। कुछ सामान्य समस्याओं में स्क्रिप्ट में सिंटैक्स त्रुटियां, गलत फ़ाइल अनुमतियां (स्क्रिप्ट में निष्पादन अनुमतियां होनी चाहिए), या स्क्रिप्ट की पहली पंक्ति में सही शेबंग गायब हो सकता है (
#!/bin/bash
) यह निर्दिष्ट करने के लिए कि इसे बैश का उपयोग करके चलाया जाना चाहिए।
टिप्पणियाँ (0)
यहां अभी तक कोई टिप्पणी नहीं है, आप पहले हो सकते हैं!