BASH/C2/Nested-and-multilevel-if-elsif-statements/Hindi
From Script | Spoken-Tutorial
Revision as of 10:34, 24 February 2015 by Prabhakarpandey (Talk | contribs)
|
|
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 command' पढ़ती है और वेरिएबल 'mypassword' में प्रविष्ट किया हुआ पासवर्ड संचित करती है। |
02:46 | यहाँ, '- (हाइफन) s' फ्लैग 'साइलेंट मोड' के लिए है। |
02:49 | इसका मतलब है कि यूज़र द्वारा प्रविष्ट किया हुआ टेक्स्ट 'टर्मिनल' पर प्रदर्शित नहीं किया जायेगा। |
02:56 | यहाँ हमारे पास 'if-else statements' का एक अन्य सेट है। |
02:59 | 'if-else statements' का यह सेट पहले 'if' में नेस्टेड किया जाता है। |
03:05 | दूसरा 'if' स्टेटमेंट वेरिएबल्स 'mypassword' और 'PASSWORD' की तुलना करता है। |
03:12 | जब 'if condition' 'ट्रू' होती है, तो 'echo', 'टर्मिनल' पर मैसेज “Welcome” प्रदर्शित करता है। |
03:18 | i.e. the passwords match. यानी पासवर्ड मिलान है। |
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 statement' निष्पादित किया जायेगा। |
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 comparison' प्रोग्राम का उपयोग। |
10:28 | एक नियत कार्य में, भिन्न-भिन्न आउटपुट के लिए एक प्रोग्राम लिखें, जब नंबर |
10:34 | 3 से बड़ा हो |
10:35 | 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 | आई आई टी बॉम्बे से मैं...अब आपसे विदा लेती हूँ।
हमसे जुड़ने धन्यवाद। |
-