BASH/C2/Nested-and-multilevel-if-elsif-statements/Hindi

From Script | Spoken-Tutorial
Revision as of 11:55, 1 March 2017 by Pratik kamble (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time Narration
00:00 दोस्तों, बैश में 'Nested' और 'multilevel if' स्टेटमेंट के स्पोकन ट्यूटोरियल में आपका स्वागत है।
00:09 इस ट्यूटोरियल में हम निम्न के बारे में सीखेंगे,
00:12 'Nested if-else' और
00:14 'Multilevel if-else स्टेटमेंट'
00:17 हम यह कुछ उदाहरण उपयोग करके करेंगे।
00:22 इस ट्यूटोरियल के अनुसरण के लिए, आपको 'लिनक्स ऑपरेटिंग सिस्टम' से परिचित होना चाहिए।
00:28 यदि, नहीं तो सम्बंधित ट्यूटोरियल्स के लिए कृपया हमारी वेबसाइट पर जाएँ।
00:35 इस ट्यूटोरियल के लिए मैं उपयोग कर रही हूँ
00:38 'उबन्टु लिनक्स 12.04' OS और
00:42 'GNU Bash' वर्जन '4.1.10'
00:46 अभ्यास के लिए 'GNU Bash' वर्जन 4 या उससे नए की सलाह दी जाती है।
00:52 अब 'Nested if-else स्टेटमेंट' का फ्लो यानी प्रवाह समझते हैं।
00:57 यहाँ, यदि 'कंडीशन 1' ट्रू है, तो 'कंडीशन 2' मूल्यांकित की जाएगी।
01:04 यदि 'कंडीशन 2' 'ट्रू' है, तो 'स्टेटमेंट 1' निष्पादित किया जाएगा।
01:10 जिसका मतलब है, केवल जब 'कंडीशन 1' और '2' दोनों 'ट्रू' हैं, तभी 'स्टेटमेंट 1' निष्पादित किया जायेगा
01:19 यदि 'कंडीशन 1' 'फॉल्स' है, तो 'स्टेटमेंट 3' निष्पादित किया जायेगा।
01:25 और यदि 'कंडीशन 2' 'फॉल्स' है, तो 'स्टेटमेंट 2' निष्पादित किया जायेगा।
01:31 एक उदाहरण देखते हैं।
01:33 मैंने 'nestedifelse.sh' फाइल में कोड लिख लिया है।
01:38 मैं इसे खोलूंगी।
01:40 अब मैं कोड समझाती हूँ।
01:43 यह 'शीबैंग' लाइन है।
01:45 वेरिएबल 'NAME' को वैल्यू 'anusha' नियुक्त की गयी है।
01:50 वेरिएबल 'PASSWORD' को वैल्यू 'abc123' नियुक्त की गयी है।
01:56 'read' कमांड 'मानक इनपुट' से डेटा की एक लाइन को पढ़ता है।
02:02 '- (हाइफन) p' फ्लैग 'प्रॉम्प्ट' को दिखाता है।
02:05 '- (हाइफन) p' के बाद 'Enter name:' यह स्ट्रिंग 'टर्मिनल' पर दिखाया जायेगा।
02:11 'myname' वेरिएबल है जो यूज़र के द्वारा प्रविष्ट किया गया टेक्स्ट, जोकि यूज़र इनपुट है, को संचित करता है।
02:18 पहला 'if' स्टेटमेंट दो वेरिएबल्स 'myname' और 'NAME' की तुलना करता है।
02:24 यानी यूज़र इनपुट और वेरिएबल 'नेम' में संचित वैल्यू जोकि 'anusha' है।
02:31 अगर दो वैल्यूज़ मिलती हैं, तो इस 'if statement' में शेष कोड मूल्यांकित किया जायेगा।
02:38 'read कमांड' पढ़ती है और वेरिएबल 'mypassword' में प्रविष्ट किया हुआ पासवर्ड संचित करती है।
02:46 यहाँ, '- (हाइफन) s' फ्लैग 'साइलेंट मोड' के लिए है।
02:49 इसका मतलब है कि यूज़र द्वारा प्रविष्ट किया हुआ टेक्स्ट 'टर्मिनल' पर प्रदर्शित नहीं किया जायेगा।
02:56 यहाँ हमारे पास 'if-else स्टेटमेंट्स' का एक अन्य सेट है।
02:59 'if-else स्टेटमेंट्स' का यह सेट पहले 'if' में नेस्टेड किया जाता है।
03:05 दूसरा 'if' स्टेटमेंट वेरिएबल्स 'mypassword' और 'PASSWORD' की तुलना करता है।
03:12 जब 'if condition' 'ट्रू' होती है, तो 'echo', 'टर्मिनल' पर मैसेज “Welcome” प्रदर्शित करता है।
03:18 यानी पासवर्ड मिलता है।
03:21 '-e' 'बैकस्लैश एस्केप' की व्याश्या संभव बनाता है।
03:27 '\n' नयी लाइन के लिए है; जिसका मतलब है स्ट्रिंग “Welcome” प्रिंट किया जायेगा।
03:35 जब 'if कंडीशन' ट्रू नहीं होती है, तो 'else कंडीशन' निष्पादित की जाएगी;
03:42 यानी जब पासवर्ड मिलान नहीं होता है, तो 'else कंडीशन' निष्पादित की जाएगी।
03:48 इस स्थिति में, 'echo' “Wrong password” दिखायेगा।
03:53 'fi' भीतरी 'if-else statement' समाप्त करता है।
03:57 अपने पहले 'if-else statement' पर वापस आते हैं।
04:01 अगर 'myname' और 'NAME' में वैल्यूज़ मिलान नहीं होती हैं, तो यह 'else स्टेटमेंट' निष्पादित किया जायेगा।
04:09 यह 'टर्मिनल' पर मैसेज “Wrong Name” 'echo' करेगा।
04:14 'fi' बहरी 'if-else statement' समाप्त करेगा।
04:18 अब अपने कीबोर्ड पर 'ctrl+alt और t' कीज़ एकसाथ दबाकर टर्मिनल विंडो खोलें।
04:27 फाइल को निष्पादन योग्य बनाते हैं।
04:29 टाइप करें: 'chmod' स्पेस 'प्लस x' स्पेस 'nestedifelse.sh'
04:38 अब टाइप करें 'डॉट स्लैश nestedifelse.sh'
04:43 प्रोग्राम दो कंडीशंस प्रमाणित करता है।
04:46 यानी 'नेम' और 'पासवर्ड'
04:48 जब यह 'टर्मिनल' पर निष्पादित किया जाता है।
04:52 यहाँ, 'प्रॉम्प्ट' 'Enter Name' निष्पादित करता है।
04:55 अब टाइप करें 'anusha'
04:57 चूँकि यह 'कंडीशन' 'ट्रू' होती है, अतः अगली 'if condition' मूल्यांकित की जाएगी।
05:02 अब 'प्रॉम्प्ट' दिखाता है 'Password'
05:05 मैं 'पासवर्ड' में 'abc123' टाइप करुँगी।
05:10 ये 'पासवर्ड', वेरिएबल 'PASSWORD' में वैल्यू से मिलता है।
05:15 इसलिए, प्रॉम्प्ट मैसेज 'Welcome' दिखाता है।
05:19 अब 'script' को दोबारा निष्पादित करते हैं।
05:21 अप एरो की दबाएं।
05:24 'dot slash nestedifelse.sh' पर जाएँ।
05:29 'एंटर' दबाएं।
05:31 इस समय हम वही नाम, अलग पासवर्ड के साथ प्रविष्ट करेंगे।
05:37 अतः मैं नाम में 'anusha' और पासवर्ड में '123' प्रविष्ट करुँगी।
05:44 'नाम' की वैल्यूज़ मिलेंगी लेकिन 'पासवर्ड' की वैल्यूज़ नहीं।
05:49 अतः मैसेज 'Wrong password' प्रदर्शित किया जायेगा।
05:53 यह सिद्ध करता है कि पहले 'if स्टेटमेंट' के अंदर 'nested else स्टेटमेंट' निष्पादित किया गया था।
06:01 एक बार और स्क्रिप्ट को निष्पादित करते हैं।
06:04 इस समय हम नाम में 'swati' प्रविष्ट करेंगे।
06:08 मैसेज 'Wrong name' प्रदर्शित होता है।
06:12 ऐसा इसलिए क्योंकि नाम 'swati' पहले घोषित की गयी वैल्यू 'anusha' से नहीं मिलता।
06:19 कंट्रोल पहले 'if स्टेटमेंट' के बाहर आता है और 'else स्टेटमेंट' निष्पादित करता है।
06:25 यह मैसेज 'Wrong name' प्रिंट करता है।
06:29 अब 'multilevel if-else स्टेटमेंट' को देखते हैं।
06:34 अगर 'कंडीशन 1' 'ट्रू' है, तो 'स्टेटमेंट 1' निष्पादित होता है।
06:40 अगर 'कंडीशन 1' 'फॉल्स' है, तो 'कंडीशन 2' मूल्यांकित होती है।
06:46 अगर 'कंडीशन 2' 'ट्रू' है, तो 'स्टेटमेंट 2' निष्पादित होता है।
06:52 अगर 'कंडीशन 2' 'फॉल्स' है, तो 'कंडीशन N' मूल्यांकित होती है।
06:58 अगर 'कंडीशन N' 'ट्रू' है, तो 'स्टेटमेंट N' निष्पादित होता है।
07:03 और अगर 'कंडीशन N' फॉल्स है, तो 'स्टेटमेंट X' निष्पादित होता है।
07:10 अब एक उदाहरण देखते हैं।
07:12 मेरे पास एक कार्यकारी उदाहरण है।
07:14 मैं इसे खोलूंगी। ध्यान दें हमारी फाइल का नाम 'multilevel हाइफन ifelse डॉट sh' है।
07:23 अब कोड पूरा समझते हैं।
07:25 यह 'शीबैंग' लाइन है।
07:27 'mystring' एक वेरिएबल है, जो निष्पादन के दौरान यूज़र द्वारा इनपुट शब्द संचित करता है।
07:34 'if कंडीशन' जाँचती है कि क्या इनपुट स्ट्रिंग 'नल (null)' है
07:39 '- (हाइफन) z' जाँचता है कि क्या 'स्ट्रिंग' की लम्बाई 'ज़ीरो' है
07:44 'टर्मिनल' पर टाइप करें 'man test' और अनेक 'स्ट्रिंग' कम्पैरिसन का अन्वेषण करें।
07:51 अगर कुछ भी प्रविष्ट नहीं किया जाता, तो 'एको स्टेटमेंट' प्रिंट किया जायेगा।
07:56 पहली 'elif condition' जाँचती है कि क्या 'इनपुट स्ट्रिंग' में 'raj' है
08:03 अगर है, तो यह 'एको स्टेटमेंट' प्रिंट किया जायेगा।
08:08 'वाइल्ड कार्ड्स कैरेक्टर' निश्चित करता है कि इसमें 'राज' के साथ कोई भी शब्द, पहचाना जाएगा।
08:15 अगली 'elif condition' जाँचती है कि क्या 'इनपुट स्ट्रिंग' में शब्द 'jit' है।
08:22 अगर है, तो यह एको स्टेटमेंट प्रिंट किया जायेगा।
08:27 जब ऊपर की सारी 'कंडीशंस' फेल हो जाएँगी, तो 'else condition' निष्पादित की जाएगी।
08:33 और यह 'Sorry! Input does not contain either 'raj' or jit' मैसेज दिखायेगा।
08:41 'fi' 'multilevel if-else' 'स्टेटमेंट' का अंत दिखाता है।
08:46 अब प्रोग्राम निष्पादित करते हैं।
08:48 अपने 'टर्मिनल' पर वापस आते हैं।
08:51 टाइप करें: 'chmod स्पेस प्लस x स्पेस multilevel हाइफन ifelse डॉट sh'
09:00 टाइप करें 'dot slash multilevel hyphen ifelse dot sh'
09:06 हमसे इनपुट के लिए पूछा जाता है।
09:09 अब हम भिन्न-भिन्न इनपुट देते हैं और देखते हैं कि हर बार क्या होता है
09:14 पहले मैं बिना कुछ टाइप किये 'एंटर' दबाऊँगी।
09:19 'Nothing was Entered' मैसेज दिखता है।
09:22 और कंट्रोल 'multilevel if-else statement' के बाहर आ जाता है।
09:28 अब मैं प्रॉम्प्ट क्लियर करती हूँ।
09:30 अब स्क्रिप्ट को भिन्न इनपुट के साथ निष्पादित करने की कोशिश करते हैं।
09:34 अप एरो की दबाएं।
09:36 'dot slash multilevel hyphen ifelse dot sh' पर जाएँ
09:41 'एंटर' दबाएं।
09:43 प्रॉम्प्ट 'Enter a Word' दिखाता है।
09:45 मैं 'abhijit' टाइप करुँगी।
09:48 'abhijit contains word jit' आउटपुट दिखता है।
09:53 यह दिखाता है, कि हमारे कोड में कंट्रोल तीसरी 'कंडीशन' पर गया।
09:59 पहली दो 'कंडीशंस' मेल नहीं हुई।
10:03 वहीं लॉजिक सारी 'कंडीशंस' पर लगता है।
10:07 भिन्न-भिन्न इनपुट के लिए प्रोग्राम को निष्पादित करने की कोशिश करें और परिणामों को जाँचें।
10:13 अब सारांशित करते हैं।
10:15 इस ट्यूटोरियल में हमने सीखा:
10:18 'नाम' और 'पासवर्ड सत्यापन' के साथ Nested If-else का उपयोग और
10:23 'Multilevel if-else: String कम्पैरिजन' प्रोग्राम का उपयोग।
10:28 एक नियत कार्य में, भिन्न-भिन्न आउटपुट के लिए एक प्रोग्राम लिखें, जब नंबर
10:34 3 से बड़ा हो। 3 से छोटा हो
10:37 या 3 के बराबर हो
10:39 या जब यूज़र इनपुट खाली हो।
10:42 निम्न लिंक पर उपलब्ध वीडिओ देखें।
10:45 यह स्पोकन ट्यूटोरियल प्रोजेक्ट को सारांशित करता है। ।
10:48 अच्छी बैंडविड्थ न मिलने पर आप इसे डाउनलोड करके देख सकते हैं।
10:53 स्पोकन ट्यूटोरियल प्रोजेक्ट टीम
10:55 स्पोकन ट्यूटोरियल्स का उपयोग करके कार्यशालाएं चालती है।
10:58 ऑनलाइन टेस्ट पास करने वालों को प्रमाणपत्र देते हैं।
11:02 अधिक जानकारी के लिए contact@spoken-tutorial.org पर लिखें
11:09 स्पोकन ट्यूटोरियल प्रोजेक्ट टॉक टू अ टीचर प्रोजेक्ट का हिस्सा है।
11:13 यह भारत सरकार के एम एच आर दी के आई सी टी के माध्यम से राष्ट्रीय साक्षरता मिशन द्वारा समर्थित है।
11:20 इस मिशन पर अधिक जानकारी नीचे दर्शाये लिंक पर उपलब्ध है।
11:26 यह स्क्रिप्ट प्रभाकर द्वारा अनुवादित है।
11:31 आई आई टी बॉम्बे से मैं श्रुति आर्य अब आपसे विदा लेती हूँ। हमसे जुड़ने धन्यवाद।

-

Contributors and Content Editors

Devraj, Prabhakarpandey, Pratik kamble, Shruti arya