शैल स्क्रिप्ट क्या है?
शेल स्क्रिप्टिंग में एक सादे टेक्स्ट फ़ाइल में कमांड की एक श्रृंखला लिखना शामिल है, जिसे अक्सर शेल स्क्रिप्ट के रूप में जाना जाता है। इन स्क्रिप्ट्स को एक शेल द्वारा निष्पादित किया जाता है, जो एक कमांड-लाइन दुभाषिया है। सबसे आम गोले में शामिल हैं
- बैश (बॉर्न अगेन शेल)
- Zsh (Z शैल)
- मछली।
शेल स्क्रिप्ट सरल वन-लाइनर से लेकर जटिल प्रोग्राम तक हो सकती हैं, और उनका उपयोग विभिन्न प्रकार के कार्यों को करने के लिए किया जाता है, जैसे फ़ाइल हेरफेर, सिस्टम प्रशासन और दोहराए जाने वाले कार्यों का स्वचालन।
शैल स्क्रिप्टिंग के लाभ:
स्वचालन: शेल स्क्रिप्ट उपयोगकर्ताओं को दोहराए जाने वाले कार्यों को स्वचालित करने, समय बचाने और मानवीय त्रुटि की संभावना को कम करने की अनुमति देती है।
अनुकूलन: उपयोगकर्ता उच्च स्तर का अनुकूलन प्रदान करते हुए अपनी विशिष्ट आवश्यकताओं के अनुरूप स्क्रिप्ट बना सकते हैं।
बैच प्रोसेसिंग: शेल स्क्रिप्ट बैच प्रोसेसिंग कार्यों को संभालने के लिए उत्कृष्ट हैं, जहां कई कमांड को क्रम में निष्पादित करने की आवश्यकता होती है।
सिस्टम प्रशासन: शेल स्क्रिप्ट का उपयोग आमतौर पर सिस्टम प्रशासन कार्यों, जैसे बैकअप, लॉग रोटेशन और सॉफ़्टवेयर इंस्टॉलेशन के लिए किया जाता है।
एक सरल शैल स्क्रिप्ट लिखना:
आइए एक मूल शेल स्क्रिप्ट बनाएं जो एक शुभकामना संदेश प्रिंट करती है। एक टेक्स्ट एडिटर खोलें और greeting.sh
नाम से एक फ़ाइल बनाएं। निम्नलिखित पंक्तियाँ जोड़ें:
#!/bin/bash
# This is a simple shell script
echo "Hello, welcome to the world of shell scripting!"
फ़ाइल को सहेजें और टर्मिनल में निम्नलिखित कमांड चलाकर इसे निष्पादन योग्य बनाएं:
chmod +x greeting.sh
अब, आप स्क्रिप्ट निष्पादित कर सकते हैं:
./greeting.sh
आउटपुट होना चाहिए:
Hello, welcome to the world of shell scripting!
उबंटू और लिनक्स पर शैल स्क्रिप्ट चलाना:
अब, हम उबंटू और लिनक्स में .sh फ़ाइल कैसे चलाएं पर चर्चा करेंगे।
स्क्रिप्ट को निष्पादन योग्य बनाएं: शेल स्क्रिप्ट चलाने से पहले, सुनिश्चित करें कि यह निष्पादन योग्य है। जैसा कि पहले दिखाया गया है
chmod
कमांड का उपयोग करें।स्क्रिप्ट निर्देशिका पर नेविगेट करें: एक टर्मिनल खोलें और अपनी शेल स्क्रिप्ट वाली निर्देशिका पर नेविगेट करने के लिए
cd
कमांड का उपयोग करें।स्क्रिप्ट चलाएँ: टर्मिनल में
./scriptname.sh
टाइप करके, scriptname को अपनी स्क्रिप्ट के वास्तविक नाम से बदलकर स्क्रिप्ट निष्पादित करें।
cd path/to/script
./greeting.sh
- बैश कमांड का उपयोग करना: यदि आपकी स्क्रिप्ट
#!/bin/bash
(जिसे शेबैंग के रूप में जाना जाता है) से शुरू होती है, तो आप इसेबैश
कमांड का उपयोग करके भी चला सकते हैं।
bash greeting.sh
शेल स्क्रिप्ट में $@ का क्या अर्थ है?
शेल स्क्रिप्ट में, $@
स्क्रिप्ट को दिए गए सभी कमांड-लाइन तर्कों का प्रतिनिधित्व करता है। इसका उपयोग अक्सर अलग-अलग संस्थाओं के रूप में तर्कों की सूची को संदर्भित करने के लिए किया जाता है। जब $@
जैसे दोहरे उद्धरण चिह्नों के भीतर उपयोग किया जाता है, तो यह रिक्त स्थान और विशेष वर्णों को ध्यान में रखते हुए व्यक्तिगत तर्कों को संरक्षित करता है।
यहाँ संक्षिप्त विवरण दिया गया है:
$@
: स्क्रिप्ट या फ़ंक्शन को दिए गए सभी स्थितीय मापदंडों (तर्कों) का प्रतिनिधित्व करता है। प्रत्येक तर्क को अलग शब्द माना जाता है।$@
: जब डबल-उद्धृत किया जाता है, तो तर्कों को अलग किया जाता है, व्यक्तिगत तर्कों के भीतर रिक्त स्थान या विशेष वर्णों की अनुमति दी जाती है।
समझाने के लिए यहां सरल उदाहरण दिया गया है:
#!/bin/bash
# Save this script as example.sh
echo "The total number of arguments is: $#"
echo "The arguments are: $@"
echo "The arguments with double quotes are: \"$@\""
जब आप इस स्क्रिप्ट को तर्कों के साथ चलाते हैं, उदाहरण के लिए:
bash example.sh arg1 "argument 2" arg3
यह आउटपुट होगा:
The total number of arguments is: 3
The arguments are: arg1 argument 2 arg3
The arguments with double quotes are: "arg1" "argument 2" "arg3"
जैसा कि आप देख सकते हैं, $@
सभी तर्कों का प्रतिनिधित्व करता है, और ``$@’’ व्यक्तिगत तर्कों को संरक्षित करता है, भले ही उनमें रिक्त स्थान हों।