Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Bash प्रोग्रामिंग

एक इंटरैक्टिव गेम बनाकर बैश में महारत हासिल करें

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

एक नई प्रोग्रामिंग भाषा का अभ्यास करने में मेरी मदद करने के लिए, मैं कुछ टेस्ट प्रोग्राम लिखना पसंद करता हूँ। एक नमूना प्रोग्राम जो मैं अक्सर लिखता हूँ वह एक सरल "संख्या अनुमान लगाओ" प्रोग्राम है, जहां कंप्यूटर एक और 100 के बीच एक संख्या चुनता है और मुझे संख्या अनुमान लगाने के लिए कहता है। प्रोग्राम तब तक लूप करता है जब तक मैं सही अनुमान नहीं लगाता।

"संख्या अनुमान लगाओ" प्रोग्राम प्रोग्रामिंग भाषाओं में कई अवधारणाओं का अभ्यास करता है: वेरिएबल को मान कैसे असाइन करें, स्टेटमेंट कैसे लिखें, और सशर्त मूल्यांकन और लूप कैसे करें। यह एक नई प्रोग्रामिंग भाषा सीखने के लिए एक बेहतरीन व्यावहारिक प्रयोग है।

बैश में संख्या अनुमान लगाएँ

बैश अधिकांश लिनक्स सिस्टम के लिए मानक शेल है। एक समृद्ध कमांड-लाइन उपयोगकर्ता इंटरफेस प्रदान करने के अलावा, बैश स्क्रिप्ट के रूप में एक पूर्ण प्रोग्रामिंग भाषा का भी समर्थन करता है।

यदि आप बैश से परिचित नहीं हैं, तो मैं इन परिचयों की सिफारिश करता हूँ:

  • बैश क्या है?
  • बैश प्रोग्रामिंग के साथ शुरुआत करें
  • सिसएडमिन के लिए बैश स्क्रिप्टिंग के साथ शुरुआत करें
  • बैश में फंक्शन कैसे लिखें
  • बैश के बारे में और पढ़ें

आप "संख्या अनुमान लगाओ" गेम का एक संस्करण लिखकर बैश का पता लगा सकते हैं। यहाँ मेरा कार्यान्वयन है:

#!/bin/bash

number=$(( $RANDOM % 100 + 1 ))

echo "Guess a number between 1 and 100"

guess=0

while [ "0$guess" -ne $number ] ; do
read guess
[ "0$guess" -lt $number ] && echo "Too low"
[ "0$guess" -gt $number ] && echo "Too high"
done

echo "That's right!"
exit 0

स्क्रिप्ट को तोड़ना

स्क्रिप्ट में पहली लाइन, #!/bin/bash लिनक्स को इस स्क्रिप्ट को बैश शेल का उपयोग करके चलाने के लिए कहती है। हर स्क्रिप्ट #! कैरेक्टर जोड़ी से शुरू होती है, जो इंगित करता है कि यह एक शेल स्क्रिप्ट है। #! के तुरंत बाद चलाने के लिए शेल है। इस मामले में, /bin/bash बैश शेल है।

एक वेरिएबल को मान असाइन करने के लिए, वेरिएबल के नाम के बाद = चिह्न सूचीबद्ध करें। उदाहरण के लिए, स्टेटमेंट guess=0 guess वेरिएबल को शून्य मान असाइन करता है।

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

एक वेरिएबल के मान को संदर्भित करने के लिए, वेरिएबल नाम से पहले $ उपयोग करें। इसलिए, guess वेरिएबल में एक मान संग्रहीत करने के बाद, आप इसे $guess का उपयोग करके पुनः प्राप्त कर सकते हैं।

आप वेरिएबल के लिए जो चाहें नाम उपयोग कर सकते हैं, लेकिन बैश अपने लिए कुछ विशेष वेरिएबल नाम आरक्षित करता है। एक विशेष वेरिएबल RANDOM है, जो हर बार जब आप इसे संदर्भित करते हैं तो एक बहुत बड़ी यादृच्छिक संख्या उत्पन्न करता है।

यदि आप एक ही समय में मान संग्रहीत करते समय एक ऑपरेशन करना चाहते हैं, तो आपको स्टेटमेंट को विशेष ब्रैकेट में संलग्न करना होगा। यह बैश को पहले उस स्टेटमेंट को निष्पादित करने के लिए कहता है, और = परिणामी मान को वेरिएबल में संग्रहीत करता है। एक गणितीय अभिव्यक्ति का मूल्यांकन करने के लिए, अपने स्टेटमेंट के चारों ओर $(( )) का उपयोग करें। डबल पैरेंथेसिस एक अंकगणितीय अभिव्यक्ति इंगित करते हैं। मेरे उदाहरण में, number=$(( $RANDOM % 100 + 1 )) अभिव्यक्ति $RANDOM % 100 + 1 का मूल्यांकन करता है और फिर मान को number वेरिएबल में संग्रहीत करता है।

मानक अंकगणितीय ऑपरेटर जैसे + (प्लस), - (माइनस), * (गुणा), / (भाग), और % (मॉड्यूलो) लागू होते हैं।

इसका मतलब है कि स्टेटमेंट number=$(( $RANDOM % 100 + 1 )) एक और 100 के बीच एक यादृच्छिक संख्या उत्पन्न करता है। मॉड्यूलो ऑपरेटर (%) दो संख्याओं को विभाजित करने के बाद शेषफल लौटाता है। इस मामले में, बैश एक यादृच्छिक संख्या को 100 से विभाजित करता है, जिससे शून्य से 99 की सीमा में एक शेषफल बचता है। उस मान में एक जोड़कर, आपको एक और 100 के बीच एक यादृच्छिक संख्या मिलती है।

बैश सशर्त अभिव्यक्ति और फ्लो कंट्रोल जैसे लूप का समर्थन करता है। "संख्या अनुमान लगाओ" गेम में, बैश तब तक लूप करना जारी रखता है जब तक guess में मान number के बराबर नहीं होता। यदि अनुमान यादृच्छिक संख्या से कम है, तो बैश "Too low" प्रिंट करता है, और यदि अनुमान संख्या से अधिक है, तो बैश "Too high" प्रिंट करता है।

यह कैसे काम करता है

अब जब आपने अपनी बैश स्क्रिप्ट लिख ली है, तो आप "संख्या अनुमान लगाओ" गेम खेलने के लिए इसे चला सकते हैं। सही संख्या मिलने तक अनुमान लगाते रहें:

Guess a number between 1 and 100
50
Too high
30
Too high
20
Too high
10
Too low
15
Too high
13
Too low
14
That's right!

हर बार जब आप स्क्रिप्ट चलाते हैं, तो बैश एक अलग यादृच्छिक संख्या चुनेगा।

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

क्या आपकी कोई पसंदीदा प्रोग्रामिंग भाषा है? आप "संख्या अनुमान लगाओ" गेम को इसमें कैसे लिखेंगे? इस लेख श्रृंखला का अनुसरण करें ताकि अन्य प्रोग्रामिंग भाषाओं के उदाहरण देख सकें जो आपकी रुचि हो सकती हैं।

  1. पहेली-आधारित शिक्षण के साथ बैश कौशल में महारत हासिल करें पहेली-आधारित शिक्षण के साथ बैश कौशल में महारत हासिल करें

    कंप्यूटर मेरा शौक और मेरा पेशा दोनों हैं। मेरे अपार्टमेंट में लगभग 10 कंप्यूटर बिखरे हुए हैं, सभी लिनक्स चल रहे हैं (मेरे मैक सहित)। चूंकि मुझे अपने कंप्यूटर और कंप्यूटर कौशल को अपग्रेड करने में मजा आता है, जब मुझे सिल्वेन लेरॉक्स की Bash it out मिली, तो मैंने इसे खरीदने का मौका नहीं छोड़ा। मैं डेबि

  1. लेखन को बेहतर बनाने के लिए शीर्ष Grammarly विकल्प लेखन को बेहतर बनाने के लिए शीर्ष Grammarly विकल्प

    हर कोई Grammarly से प्यार करता है और हम भी अलग नहीं हैं। लेकिन, यदि आप शीर्षक से जाएं, तो आप सोच सकते हैं कि हम Grammarly विकल्पों के बारे में क्यों बात कर रहे हैं। क्या विकल्प खुले रखना एक बुद्धिमानी की बात नहीं है? साथ ही, ऐसे समय होते हैं जब हम चाहते हैं कि Grammarly में थोड़ा और होता - यह साहित्

  1. Learn Math App से बेसिक गणित में महारत हासिल करें: संख्याओं पर विजय पाने का मजेदार, आकर्षक तरीका Learn Math App से बेसिक गणित में महारत हासिल करें: संख्याओं पर विजय पाने का मजेदार, आकर्षक तरीका

    गणित से डरते हैं? हां! मैं भी नंबरों और उनसे आप क्या कर सकते हैं, उससे डरता रहा हूं। लेकिन गणित से दूर रहना समाधान नहीं है और न ही हम इसे अपने बच्चों को सिखा सकते हैं। Systweak द्वारा Learn Math App पेश करते हैं, एक मजेदार ऐप जो आपके बच्चों को गणित में रुचि विकसित करने और कुछ कूल ट्रिक्स सीखने में म