शुरुआती गाइड बाश - भाग 1 - हैलो वर्ल्ड

इंटरनेट पर बहुत से गाइड हैं जो दिखाते हैं कि बीएएसएच का उपयोग करके शेल स्क्रिप्ट कैसे बनाएं और इस गाइड का उद्देश्य थोड़ा अलग स्पिन देना है क्योंकि यह किसी ऐसे व्यक्ति द्वारा लिखा गया है जिसमें बहुत कम शैल स्क्रिप्टिंग अनुभव है।

अब आप सोच सकते हैं कि यह एक मूर्ख विचार है, लेकिन मुझे लगता है कि कुछ गाइड आपसे बात करते हैं जैसे कि आप पहले से ही एक विशेषज्ञ हैं और अन्य गाइड पीछा करने में कटौती करने में बहुत अधिक समय लेते हैं।

जबकि मेरा LINUX / यूनिक्स शैल स्क्रिप्टिंग अनुभव सीमित है, मैं व्यापार द्वारा एक सॉफ्टवेयर डेवलपर हूं और मैं पर्ल, PHP और वीबीस्क्रिप्ट जैसे स्क्रिप्टिंग भाषाओं में एक डब हाथ हूं।

इस गाइड का मुद्दा यह है कि आप सीखेंगे जैसे मैं सीखता हूं और जो भी जानकारी मैं उठाता हूं, मैं आपको पास कर दूंगा।

शुरू करना

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

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

आपको इस मार्गदर्शिका का पालन करने के लिए केवल एक टेक्स्ट एडिटर और एक टर्मिनल चलाना बीएएसएच (अधिकांश लिनक्स वितरण पर डिफ़ॉल्ट खोल) है।

पाठ संपादक

मैंने जो अन्य मार्गदर्शिकाएं पढ़ी हैं, उन्होंने सुझाव दिया है कि आपको एक टेक्स्ट एडिटर की आवश्यकता है जिसमें कमांड के रंग कोडिंग शामिल हैं और अनुशंसित संपादक या तो वीआईएम या ईएमएसीएस हैं

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

दो में से मैं ईएमएसीएस पसंद करता हूं लेकिन ईमानदार होने के लिए मैं नैनो , जीएडिट या लीफपैड जैसे साधारण संपादक का उपयोग करना पसंद करता हूं।

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

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

टर्मिनल विंडो खोलना

यदि आप लिनक्स मिंट या उबंटू जैसे ग्राफिकल डेस्कटॉप के साथ लिनक्स वितरण का उपयोग कर रहे हैं तो आप CTRL + ALT + T दबाकर टर्मिनल विंडो खोल सकते हैं।

अपनी लिपियों को कहां रखना है

इस ट्यूटोरियल के प्रयोजनों के लिए आप अपनी स्क्रिप्ट को अपने घर फ़ोल्डर के नीचे एक फ़ोल्डर में डाल सकते हैं।

एक टर्मिनल विंडो के भीतर सुनिश्चित करें कि आप निम्न आदेश टाइप करके अपने घर फ़ोल्डर में हैं:

सीडी ~

सीडी कमांड परिवर्तन निर्देशिका के लिए खड़ा है और tilde (~) आपके घर फ़ोल्डर के लिए एक शॉर्टकट है।

आप निम्न आदेश टाइप करके जांच सकते हैं कि आप सही जगह पर हैं:

लोक निर्माण विभाग

Pwd कमांड आपको आपकी वर्तमान कार्यशील निर्देशिका बताएगा (जहां आप निर्देशिका पेड़ में हैं)। मेरे मामले में यह / घर / गैरी लौटा।

अब स्पष्ट रूप से आप अपनी स्क्रिप्ट सीधे घर फ़ोल्डर में नहीं रखना चाहेंगे, इसलिए निम्न आदेश टाइप करके स्क्रिप्ट नामक फ़ोल्डर बनाएं।

mkdir स्क्रिप्ट्स

निम्न आदेश टाइप करके नई स्क्रिप्ट फ़ोल्डर में बदलें:

सीडी स्क्रिप्ट्स

आपकी पहली स्क्रिप्ट

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

अपनी स्क्रिप्ट फ़ोल्डर के भीतर से निम्न आदेश दर्ज करें:

नैनो helloworld.sh

अब नैनो विंडो में निम्न कोड दर्ज करें।

#! / बिन / बैश गूंज "हैलो वर्ल्ड"

नैनो से बाहर निकलने के लिए फ़ाइल और CTRL + X को सहेजने के लिए CTRL + O दबाएं।

स्क्रिप्ट स्वयं निम्नानुसार बनाई गई है:

#! / Bin / bash को आपके द्वारा लिखे गए सभी स्क्रिप्ट के शीर्ष पर शामिल करने की आवश्यकता है क्योंकि यह दुभाषियों को देता है और ऑपरेटिंग सिस्टम को फ़ाइल को संभालने का तरीका पता है। असल में बस इसे अंदर रखना याद रखें और भूलें कि आप ऐसा क्यों करते हैं।

दूसरी पंक्ति में एक एकल कमांड होता है जिसे इको कहा जाता है जो पाठ को आउटपुट करता है जो तुरंत इसका अनुसरण करता है।

ध्यान दें कि यदि आप एक से अधिक शब्द प्रदर्शित करना चाहते हैं तो आपको शब्दों के चारों ओर डबल कोट्स (") का उपयोग करने की आवश्यकता है।

अब आप निम्न आदेश टाइप करके स्क्रिप्ट चला सकते हैं:

sh helloworld.sh

शब्द "हैलो वर्ल्ड" दिखाना चाहिए।

स्क्रिप्ट चलाने का एक और तरीका निम्नानुसार है:

./helloworld.sh

संभावना है कि यदि आप सीधे अपने टर्मिनल में उस आदेश को चलाते हैं तो आपको अनुमति अनुमति मिल जाएगी।

इस तरह से स्क्रिप्ट चलाने के लिए अनुमति देने के लिए निम्न टाइप करें:

सुडो chmod + x helloworld.sh

तो वास्तव में क्या हुआ? आप अनुमतियों को बदलने के बिना sh helloworld.sh को चलाने में सक्षम क्यों थे लेकिन चल रहे थे ./helloworld.sh ने कोई समस्या उत्पन्न की?

पहली विधि बैश दुभाषिया को लोड करती है जो helloworld.sh को एक इनपुट के रूप में लेती है और इसके साथ क्या करती है इसका काम करती है। बैश दुभाषिया में पहले से ही चलाने की अनुमति है और केवल स्क्रिप्ट में कमांड चलाने की आवश्यकता है।

दूसरी विधि ऑपरेटिंग सिस्टम को स्क्रिप्ट के साथ क्या करना है और इसलिए इसे निष्पादित करने के लिए निष्पादन योग्य बिट की आवश्यकता होती है।

उपर्युक्त स्क्रिप्ट ठीक थी लेकिन क्या होता है यदि आप उद्धरण चिह्न प्रदर्शित करना चाहते हैं?

इसे प्राप्त करने के कई तरीके हैं। उदाहरण के लिए आप उद्धरण चिह्नों से पहले बैकस्लैश डाल सकते हैं:

गूंज \ "हैलो दुनिया \"

यह आउटपुट "हैलो वर्ल्ड" का उत्पादन करेगा।

हालांकि एक मिनट रुको, अगर आप \ "हैलो वर्ल्ड \" प्रदर्शित करना चाहते हैं तो क्या होगा?

खैर आप बचने वाले पात्रों से भी बच सकते हैं

echo \\ "\" हैलो दुनिया \\ "\"

यह आउटपुट \ "हैलो वर्ल्ड \" का उत्पादन करेगा।

अब मैं जनता हूँ की आप क्या सोच रहे हैं। लेकिन मैं वास्तव में \\ "\" हैलो दुनिया \\ "\" प्रदर्शित करना चाहता हूं

इन सभी बचने वाले पात्रों के साथ गूंज का उपयोग करना काफी मूर्ख हो सकता है। एक वैकल्पिक आदेश है जिसे आप printf नामक उपयोग कर सकते हैं।

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

printf '% s \ n' '\\ "\" हैलो वर्ल्ड \\ "\"'

ध्यान दें कि जिस पाठ को हम प्रदर्शित करना चाहते हैं वह सिंगल कोट्स के बीच है। Printf कमांड आपकी स्क्रिप्ट से टेक्स्ट आउटपुट करता है। % S का अर्थ है कि यह एक स्ट्रिंग प्रदर्शित करेगा, \ n एक नई लाइन आउटपुट करता है।

सारांश

हमने वास्तव में भाग में बहुत अधिक जमीन नहीं डाली है, लेकिन उम्मीद है कि आपकी पहली स्क्रिप्ट काम कर रही है।

अगले भाग में हम अलग-अलग रंगों में पाठ प्रदर्शित करने, इनपुट पैरामीटर को स्वीकार करने और संभालने, चर और आपके कोड पर टिप्पणी करने के लिए हैलो वर्ल्ड स्क्रिप्ट पर सुधार करना चाहते हैं।