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

बैश स्क्रिप्टिंग का ज्ञान हर डेवलपर के लिए जरूरी है, खासकर यदि आप यूनिक्स-आधारित सिस्टम के साथ काम करते हैं।

बशो में चर

बैश चर केस सेंसिटिव हैं। चर घोषित करने के लिए, बराबर चिह्न का उपयोग करें (=) बाईं ओर नाम और दाईं ओर मान के साथ:

राज्य = वाशिंगटन

यह घोषणा मान निर्दिष्ट करता है राज्य एक ही शब्द है। यदि आपको अपने मूल्य में रिक्त स्थान की आवश्यकता है, तो इसके चारों ओर उद्धरण चिह्नों का उपयोग करें:

राज्य = "उत्तरी एरिजोना"

आपको डॉलर चिह्न का उपयोग करना होगा ($) अन्य चर या कथनों में संदर्भ चर के लिए उपसर्ग:

राज्य = वाशिंगटन
LOCATION="मेरा स्थान है $राज्य"

Bash. में मुद्रण मान

बैश में वेरिएबल को प्रिंट करने के कई तरीके हैं। आप का उपयोग कर सकते हैं

instagram viewer
गूंज बेसिक आउटपुट या सी-स्टाइल के लिए कमांड printf स्ट्रिंग स्वरूपण के लिए आदेश।

राज्य = वाशिंगटन
LOCATION="मेरा स्थान है $राज्य"
गूंज$LOCATION

घोषित करने के बाद राज्य चर, यह स्क्रिप्ट परिभाषित करता है स्थान STATE को संदर्भित करके। यदि फिर LOCATION चर के अंतिम मान को प्रिंट करने के लिए इको का उपयोग करता है।

printf कीवर्ड आपको डेटा आउटपुट करने के लिए स्वरूपण क्रियाओं का उपयोग करने की अनुमति देता है। स्ट्रिंग स्वरूपण क्रिया सी और गो के समान हैं लेकिन सीमित क्रियाओं के साथ।

क्रिया कार्यक्षमता
%सी एकल वर्ण प्रिंट करता है
%o ऑक्टाडेसीमल प्रिंट करता है
%एस प्रिंट स्ट्रिंग्स, आवरण से स्वतंत्र
%एक्स लोअरकेस हेक्साडेसिमल प्रिंट करता है
%एक्स अपरकेस हेक्साडेसिमल प्रिंट करता है
%डी पूर्णांक प्रिंट करता है
%इ प्रिंट वैज्ञानिक धारणा लोअरकेस में तैरती है
%इ प्रिंट वैज्ञानिक धारणा अपरकेस में तैरती है
%एफ फ्लोटिंग पॉइंट नंबर प्रिंट करता है
%% एक प्रतिशत चिह्न प्रिंट करता है।

यहाँ के साथ क्रिया का उपयोग करने का एक उदाहरण दिया गया है प्रिंट कीवर्ड।

राज्य = लागोस
printf "मेरा स्थान %s है" $राज्य

printf फ़ंक्शन को प्रतिस्थापित करेगा राज्य की स्थिति में परिवर्तनशील %एस क्रिया, और आउटपुट "माई लोकेशन इज लागोस" होगा।

आप बैश में हैश या पाउंड के साथ टिप्पणी कर सकते हैं (#) चिन्ह, प्रतीक। शेल स्वचालित रूप से टिप्पणियों को अनदेखा करता है।

#!/बिन/बैश
#राज्य=वाशिंगटन
# LOCATION="मेरा स्थान $STATE है"

कोई बहु-पंक्ति टिप्पणी नहीं है। अधिकांश IDE और टेक्स्ट एडिटर आपको Ctrl/Command + फॉरवर्ड स्लैश (/) शॉर्टकट के साथ टिप्पणी करने की अनुमति देते हैं। आपको एकाधिक एकल-पंक्ति टिप्पणियां बनाने के लिए शॉर्टकट का उपयोग करने में सक्षम होना चाहिए।

बैश में उपयोगकर्ता इनपुट प्राप्त करना

कई अन्य प्रोग्रामिंग भाषाओं की तरह, आप अपने प्रोग्राम/स्क्रिप्ट को अधिक इंटरैक्टिव बनाने के लिए बैश में उपयोगकर्ता इनपुट प्राप्त कर सकते हैं। आप का उपयोग कर सकते हैं पढ़ना उपयोगकर्ता के इनपुट का अनुरोध करने के लिए आदेश।

पढ़ना जवाब

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

गूंज "तुम क्या चाहते हो ?:"
प्रतिक्रिया पढ़ें
गूंज $प्रतिक्रिया

उपयोगकर्ता इनपुट अनुरोध ऊपर के उदाहरण में एक नई लाइन पर होगा।

आप जोड़ सकते हैं -एन को झंडा गूंज जहां उपयोगकर्ता इनपुट दर्ज करता है उस लाइन को बनाए रखने के लिए प्रिंट स्टेटमेंट।

इको-एन "आप क्या चाहते हैं।"
प्रतिक्रिया पढ़ें
गूंज $प्रतिक्रिया

Bash. में Arrays घोषित करना

बाश में सरणियाँ अधिकांश भाषाओं की तरह हैं। आप कोष्ठक में तत्वों को निर्दिष्ट करके बैश में एक सरणी चर घोषित कर सकते हैं।

देश = ('यूएसए' 'रूस' 'यूक्रेन', "इंग्लैंड", "ताइवान", "चीन")

चर नाम के संदर्भ में एक सरणी तक पहुँचने से पहला तत्व प्राप्त होगा। आप सूचकांक के रूप में तारांकन चिह्न का उपयोग करके संपूर्ण सरणी तक पहुँच सकते हैं।

गूंज ${देश[*]}

आप किसी विशिष्ट तत्व तक पहुँचने के लिए सरणी की अनुक्रमणिका भी निर्दिष्ट कर सकते हैं। एक सरणी का सूचकांक शून्य से शुरू होता है।

गूंज "${देश[4]}"

बाशो में सशर्त बयान

बैश कार्यक्रमों में निर्णय लेने के लिए शर्तें प्रदान करता है।

यहाँ बैश में एक और बयान की शारीरिक रचना है। शर्त के अंत को निर्दिष्ट करने के लिए आपको सेमी-कोलन का उपयोग करना होगा।

यदि [[ स्थि‍ति ]]; फिर
गूंज कथन1
एलिफ [[स्थि‍ति ]]; फिर
गूंज कथन 2
वरना [[स्थि‍ति ]]; फिर
गूंज कथन3
फाई

आपको हर को समाप्त करना होगा यदि के साथ बयान फाई कीवर्ड।

यदि [ 1 == 2 ]; फिर
गूंज एक
एलिफ [ 2 == 3 ]; फिर#else-if
गूंज दो
वरना [ 4 > 3 ];
गूंज "सही, 3"
फाई

आप अपने बैश प्रोग्राम में केस स्टेटमेंट का उपयोग कर सकते हैं मामला कीवर्ड। आपको कथन से पहले कोष्ठक को समाप्त करने के बाद पैटर्न निर्दिष्ट करना होगा।

शहर = लागोस
मामला$शहरमें
"वाशिंगटन") # नमूना
गूंज "संयुक्त राज्य अमेरिका" # बयान
;; #मामले का अंत
"लागोस" | "अबुजा")
गूंज "नाइजीरिया"
;;
"जोहान्सबर्ग" | "केप टाउन")
गूंज "दक्षिण अफ्रीका"
;;
*) # डिफ़ॉल्ट पैटर्न
गूंज "अंटार्कटिका" # डिफ़ॉल्ट स्टेटमेंट
;;
esac# केस स्टेटमेंट का अंत

आप पैटर्न के रूप में तारांकन चिह्न (*) का उपयोग करके डिफ़ॉल्ट मामले को परिभाषित कर सकते हैं। केस स्टेटमेंट के साथ समाप्त होना चाहिए esac कीवर्ड।

बाशो में लूप्स

अपनी जरूरतों के आधार पर, आप थोड़ी देर के लूप, रेंज फॉर-लूप, या सी-स्टाइल का उपयोग कर सकते हैं आवर्ती संचालन के लिए लूप के लिए.

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

के लिये ((ए = 0; ए <10; ए+2)); करना
गूंज$ए
किया हुआ

लूप के लिए रेंज फाइलों और कई अन्य कार्यों के साथ काम करने के काम आती है। आपको उपयोग करने की आवश्यकता होगी में फॉर-लूप श्रेणी के साथ कीवर्ड।

के लिये मैं में {1..7}; करना
गूंज$1
किया हुआ

बाशो को प्रदर्शित करने के लिए यहां एक सरल अनंत लूप है जबकि कार्रवाई में लूप।

नाम = 1
जबकि [ 1-ले 5 ] # जबकि 1 <5
करना
गूंज$नाम
किया हुआ

-ले कंडीशन स्टेटमेंट में कम से कम के लिए बाइनरी ऑपरेटर है।

बाशो में कार्य

बैश में फ़ंक्शन घोषित करने के लिए आपको कीवर्ड की आवश्यकता नहीं है। आप फ़ंक्शन के शरीर से पहले नाम और फिर कोष्ठक के साथ फ़ंक्शन घोषित कर सकते हैं।

प्रिंट_वर्किंग_डायरेक्टरी() {
गूंज$पीडब्ल्यूडी#पीडब्ल्यूडी कमांड को स्क्रिप्ट से कॉल करना
}
गूंज "आप में $(print_working_directory)"

फ़ंक्शन बैश में चर वापस कर सकते हैं। आप सभी की जरूरत है वापसी कीवर्ड।

प्रिंट_वर्किंग_डायरेक्टरी() {
वापसी$पीडब्ल्यूडी
}

प्रिंट_वर्किंग_डायरेक्टरी फ़ंक्शन फ़ाइल की कार्यशील निर्देशिका देता है।

आप अन्य भाषाओं में शैल स्क्रिप्ट लिख सकते हैं

बैश एकमात्र ऐसी भाषा नहीं है जिसका उपयोग आप अपने ऑपरेटिंग सिस्टम के शेल के साथ बातचीत करने या कमांड-लाइन एप्लिकेशन बनाने के लिए कर सकते हैं। आप गो, पायथन, रूबी और रस्ट जैसी कई अन्य भाषाओं का उपयोग कर सकते हैं।

कई ऑपरेटिंग सिस्टम में Python3 पहले से इंस्टॉल होता है, और Python एक प्रचलित भाषा है। यदि आपको बैश स्क्रिप्ट की तुलना में और भी अधिक कार्यक्षमता की आवश्यकता है, तो पायथन का उपयोग करने पर विचार करें।