Difference between revisions of "BASH/C2/Basics-of-Shell-Scripting/Hindi"
From Script | Spoken-Tutorial
Shruti arya (Talk | contribs) |
|||
Line 176: | Line 176: | ||
|- | |- | ||
| 03:05 | | 03:05 | ||
− | |* यह 'यूज़र डिफाइंड' और 'सिस्टम वेरिएबल्स' के बीच | + | |* यह 'यूज़र डिफाइंड' और 'सिस्टम वेरिएबल्स' के बीच में अंतर करने को आसान बनाता है। |
|- | |- | ||
Line 280: | Line 280: | ||
|- | |- | ||
|05:16 | |05:16 | ||
− | | 'gedit' टेक्स्ट एडिटर है 'g_(अंडरस्कोर)' 'वेरिएबल.sh' | + | | 'gedit' टेक्स्ट एडिटर है 'g_(अंडरस्कोर)' 'वेरिएबल.sh' हमारी फाइल का नाम है। |
|- | |- | ||
Line 344: | Line 344: | ||
|- | |- | ||
|06:26 | |06:26 | ||
− | | अब | + | | अब प्रोप्ट को क्लियर करते हैं। |
|- | |- | ||
Line 404: | Line 404: | ||
|- | |- | ||
|07:36 | |07:36 | ||
− | | 'फंक्शन' ब्लॉक के अंदर हमारे पास एक लाइन है 'local' स्पेस 'username इक्वल्स टू jack' | + | |'फंक्शन' ब्लॉक के अंदर हमारे पास एक लाइन है 'local' स्पेस 'username इक्वल्स टू jack' |
|- | |- | ||
Line 440: | Line 440: | ||
|- | |- | ||
| 08:10 | | 08:10 | ||
− | | | + | |'फंक्शन' के बाहर 'यूज़रनेम' वैल्यू 'sunita' लेता है। |
|- | |- | ||
| 08:15 | | 08:15 | ||
− | | जबकि 'फंक्शन' के अंदर, 'यूज़रनेम' वैल्यू 'jack' लेता है। | + | |जबकि 'फंक्शन' के अंदर, 'यूज़रनेम' वैल्यू 'jack' लेता है। |
|- | |- | ||
| 08:20 | | 08:20 | ||
− | | | + | |ऐसा इसलिए है क्योंकि फंक्शन के अंदर 'यूज़रनेम' इस वैल्यू को 'लोकली' नियुक्त किया गया है। |
|- | |- | ||
| 08:26 | | 08:26 | ||
− | | अब जल्दी से देखते हैं कि कीबोर्ड से यूज़र इनपुट कैसे प्राप्त होता है। | + | |अब जल्दी से देखते हैं कि कीबोर्ड से यूज़र इनपुट कैसे प्राप्त होता है। |
|- | |- | ||
| 08:31 | | 08:31 | ||
− | | 'read' कमांड कीबोर्ड से इनपुट स्वीकार करने के लिए प्रयोग किया जाता है। | + | |'read' कमांड कीबोर्ड से इनपुट स्वीकार करने के लिए प्रयोग किया जाता है। |
|- | |- | ||
| 08:36 | | 08:36 | ||
− | | | + | |यह 'यूज़र डिफाइंड वेरिएबल' को एक इनपुट वैल्यू नियुक्त करने के लिए भी प्रयोग किया जा सकता है। |
|- | |- | ||
| 08:41 | | 08:41 | ||
− | | 'read' कमांड का रचनाक्रम है | + | | 'read' कमांड का रचनाक्रम है.. |
|- | |- | ||
Line 472: | Line 472: | ||
|- | |- | ||
| 08:50 | | 08:50 | ||
− | | ध्यान दें कि 'PROMPT' बस एक स्ट्रिंग है, जो यूज़र इनपुट के लिए प्रतीक्षा करता है। | + | |ध्यान दें, कि 'PROMPT' बस एक स्ट्रिंग है, जो यूज़र इनपुट के लिए प्रतीक्षा करता है। |
|- | |- | ||
Line 508: | Line 508: | ||
|- | |- | ||
| 09:23 | | 09:23 | ||
− | | | + | |यहाँ '-p' एक नयी लाइन के बिना प्रॉम्प्ट दिखाता है और कीबोर्ड से इनपुट लेता है। |
|- | |- | ||
Line 548: | Line 548: | ||
|- | |- | ||
| 10:04 | | 10:04 | ||
− | | मैं 'ashwini' टाइप करुँगा। एंटर दबाएं | + | | मैं 'ashwini' टाइप करुँगा। एंटर दबाएं । |
|- | |- | ||
Line 632: | Line 632: | ||
|- | |- | ||
| 11:27 | | 11:27 | ||
− | | यह भारत सरकार के | + | | यह भारत सरकार के एमएचआरडी के आईसीटी के माध्यम से राष्ट्रीय साक्षरता मिशन द्वारा समर्थित है। |
|- | |- |
Revision as of 11:57, 1 April 2015
Time | Narration |
00:01 | 'Basics of Shell Scripting' के स्पोकन ट्यूटोरियल में आपका स्वागत है। |
00:05 | इस ट्यूटोरियल में हम निम्न के बारे में सीखेंगे |
00:09 | * 'सिस्टम वेरिएबल्स' |
00:11 | * 'यूज़र डिफाइंड वेरिएबल्स' और |
00:13 | * कीबोर्ड से यूज़र इनपुट स्वीकारना। |
00:16 | इस ट्यूटोरियल के अनुसरण के लिए आपको 'लिनक्स ऑपरेटिंग सिस्टम' के साथ परिचित होना चाहिए। |
00:23 | यदि नहीं, तो सम्बंधित ट्यूटोरियल्स के लिए कृपया दर्शायी वेबसाइट पर जाएँ। |
00:29 | इस ट्यूटोरियल के लिए मैं उपयोग कर रहा हूँ |
00:32 | * 'उबन्टु लिनक्स 12.04' ऑपरेटिंग सिस्टम और |
00:35 | * 'GNU बैश' वर्जन '4.1.10 |
00:40 | ध्यान दें अभ्यास के लिए 'GNU बैश' वर्जन '4' या उससे अधिक की सलाह दी जाती है। |
00:46 | अब वेरिएबल्स के परिचय के साथ शुरू करते हैं। |
00:49 | * 'बैश वेरिएबल्स' जानकारी के लिए अस्थायी स्टोरेज प्रदान करता है। |
00:55 | * ये 'वेरिएबल्स' प्रोग्राम के जीवनकाल में प्रयोग किये जा सकते हैं। |
01:01 | * वेरिएबल्स दो प्रकार के होते हैं
|
01:07 | 'सिस्टम वेरिएबल्स', ये स्वयं 'लिनक्स बैश शैल' के द्वारा बनाये और रखे जाते हैं। |
01:14 | ये कैपिटल लेटर्स यानि बड़े अक्षरों से परिभाषित होते हैं। |
01:17 | आमतौर पर उपयोग किये गए 'सिस्टम वेरिएबल्स' हैं |
01:20 | * 'BASH_VERSION' |
01:21 | * 'HOSTNAME' |
01:23 | * 'HOME' आदि |
01:25 | अब अपने कीबोर्ड पर एकसाथ 'Ctrl Alt और T' कीज़ दबाकर टर्मिनल खोलें। |
01:33 | अब टाइप करें 'set' और एंटर दबाएं। |
01:38 | यह सारे 'सिस्टम वेरिएबल्स' को दिखायेगा। |
01:42 | वैकल्पिक रूप से, सारे 'सिस्टम वेरिएबल्स' को देखने के लिए आप 'env' या 'printenv' टाइप कर सकते हैं। |
01:53 | अब मैं प्रॉम्प्ट को साफ़ करता हूँ। |
01:55 | अब, टाइप करें 'echo' स्पेस डबल कोट्स में 'डॉलर साइन' 'HOSTNAME' |
02:01 | और एंटर दबाएं। |
02:04 | सिस्टम का 'hostname' प्रदर्शित किया जायेगा। |
02:07 | अब हम 'होम' डिरेक्टरी के पूरे पाथ का पता लगाएंगे। |
02:11 | टाइप करें 'echo स्पेस डबल कोट्स में 'डॉलर साइन HOME' (बड़े अक्षरों में) |
02:18 | एंटर दबाएं। |
02:21 | यूज़र का 'होम' डिरेक्टरी का पूरा पाथ प्रदर्शित किया जायेगा। |
02:26 | अब, टाइप करें |
02:27 | 'echo' स्पेस डबल कोट्स में 'HOME' (बड़े अक्षरों में) |
02:32 | एंटर दबाएं। |
02:34 | यह सिर्फ 'HOME' दिखायेगा 'HOME' वेरिएबल की वैल्यू नहीं दिखायेगा। |
02:39 | अतः वेरिएबल की वैल्यू दिखाने के लिए प्रत्येक वेरिएबल के शुरुआत में 'डॉलर साइन ( '$')' प्रयोग करना ज़रूरी होता है। |
02:48 | अब स्लाइड्स पर वापस आते हैं। |
02:51 | 'यूज़र डिफाइंड वेरिएबल्स' |
02:53 | * ये 'वेरिएबल्स' यूज़र के द्वारा बनाये और संभाले जाते हैं। |
02:57 | * 'यूज़र डिफाइंड वेरिएबल्स' के नामों के लिए 'अपरकेस' यानि 'बड़े अक्षरों' से बचना हमेशा अच्छा विचार है। |
03:05 | * यह 'यूज़र डिफाइंड' और 'सिस्टम वेरिएबल्स' के बीच में अंतर करने को आसान बनाता है। |
03:12 | अपने टर्मिनल पर वापस आते हैं। |
03:14 | टाइप करें 'username (यूज़रनेम) इक्वल्स टू साइन sunita' |
03:20 | ध्यान दें कि 'username' 'इक्वल्स टू साइन' और 'sunita' के बीच कोई भी खाली स्थान नहीं होना चाहिए। |
03:29 | अब एंटर दबाएं। |
03:30 | 'यूज़रनेम' वेरिएबल की वैल्यू दिखाने के लिए |
03:33 | टाइप करें 'echo' स्पेस डबल कोट्स में 'डॉलर साइन username (यूज़रनेम)' |
03:40 | एंटर दबाएं। |
03:42 | यह आपके 'टर्मिनल' पर 'sunita' दिखायेगा। |
03:46 | वेरिएबल की वैल्यू अनसेट की जा सकती है। |
03:50 | अपने टर्मिनल पर वापस आते हैं। |
03:52 | 'अनसेट', 'unset' कमांड प्रयोग करके वेरिएबल की वैल्यू अनसेट की जा सकती है। |
03:59 | इसके लिए रचनाक्रम 'unset variablename' है। |
04:03 | अब पिछला उदाहरण प्रयोग करते हैं जहाँ हमारा वेरिएबल 'username' है। |
04:08 | 'टर्मिनल' पर जाते हैं। अब टाइप करें 'unset space username', एंटर दबाएं। |
04:18 | अब जाँचते हैं, टाइप करें 'echo' स्पेस डबल कोट्स में 'डॉलर साइन username' एंटर दबाएं। |
04:28 | 'टर्मिनल' पर कुछ भी प्रदर्शित नहीं किया जायेगा। |
04:30 | इसका मतलब है कि 'वेरिएबल यूज़रनेम' की वैल्यू हटायी जा चुकी है। |
04:36 | अब अपनी स्लाइड्स पर वापस आते हैं। |
04:39 | 'ग्लोबल' और 'लोकल वेरिएबल्स' |
04:42 | * 'shell script' में, यूज़र डिफाइंड वेरिएबल्स 'ग्लोबली' या 'लोकली' घोषित किये जा सकते हैं। |
04:49 | * डिफ़ॉल्ट रूप से, सारे वेरिएबल्स 'ग्लोबल' हैं। |
04:52 | * इसका मतलब, 'फंक्शन' के बाहर और अंदर उनकी वैल्यूज़ समान बानी रहती हैं। |
04:59 | अब सीखते हैं कि 'वेरिएबल्स' को 'ग्लोबली' और 'लोकली' कैसे घोषित करते हैं। |
05:04 | 'टर्मिनल' खोलें और टाइप करें। |
05:07 | 'gedit' स्पेस g_(अंडरस्कोर) वेरिएबल.sh स्पेस &' (ampersand sign) |
05:16 | 'gedit' टेक्स्ट एडिटर है 'g_(अंडरस्कोर)' 'वेरिएबल.sh' हमारी फाइल का नाम है। |
05:23 | और & (ampersand) प्रॉम्प्ट को खाली करने में प्रयोग होता है। |
05:28 | एंटर दबाएं। |
05:30 | यहाँ अपने 'g_(अंडरस्कोर)वेरिएबल.sh' फाइल में दिखाए गए की तरह कोड टाइप करें। |
05:35 | अब मैं कोड समझाता हूँ। |
05:38 | 'हैश' और 'एक्सक्लमेशन' चिन्ह के साथ पहली लाइन, 'shebang' या 'bang' लाइन है। |
05:44 | 'username=sunita' 'यूज़रडिफाइंड वेरिएबल' है और यह 'ग्लोबली' घोषित किया गया है। |
05:51 | 'echo' फंक्शन के बाहर स्ट्रिंग को प्रदर्शित करेगा और |
05:55 | 'डॉलर username' वेरिएबल 'यूज़रनेम' की वैल्यू प्रिंट करेगा। |
06:00 | इस प्रकार हमने 'BASH' स्क्रिप्ट में फंक्शन परिभाषित किया। |
06:04 | 'फंक्शन्स' के बारे में विस्तार में चर्चा हम आगे के ट्यूटोरियल्स में करेंगे। |
06:09 | यह फंक्शन का ढाँचा है। |
06:12 | यहाँ 'username' की वैल्यू के साथ एक अन्य मैसेज 'inside function' प्रदर्शित किया जायेगा। |
06:19 | यहाँ, हम फंक्शन को कॉल करते हैं। |
06:21 | यह हमारा कोड है। अब इसे निष्पादित करते हैं। |
06:23 | 'टर्मिनल' पर वापस आते हैं। |
06:26 | अब प्रोप्ट को क्लियर करते हैं। |
06:28 | सबसे पहले अपनी फाइल को निष्पादन योग्य बनाने की आवश्यकता है। |
06:31 | टाइप करें 'chmod' स्पेस 'प्लस x स्पेस g_(अंडरस्कोर)वेरिएबल.sh' एंटर दबाएं। |
06:39 | अब टाइप करें 'डॉट स्लैश g_(अंडरस्कोर)वेरिएबल.sh' |
06:45 | एंटर दबाएं। |
06:47 | आउटपुट देखें। |
06:48 | फंक्शन के बाहर 'यूज़रनेम' वैल्यू 'sunita' लेता है। |
06:53 | फंक्शन के अंदर भी, 'यूज़रनेम' समान वैल्यू 'sunita' लेता है। |
06:59 | ऐसा इसलिए है क्योंकि फंक्शन के बाहर 'यूज़रनेम' को 'ग्लोबली' घोषित किया गया था। |
07:04 | आगे, सीखते हैं कि वेरिएबल को 'लोकली' कैसे घोषित करते हैं। |
07:09 | टाइप करें 'gedit' 'स्पेस l_(अंडरस्कोर)वेरिएबल.sh स्पेस &' (ampersand sign) |
07:18 | एंटर दबाएं। |
07:20 | यहाँ अपने 'l_(अंडरस्कोर)वेरिएबल.sh' फाइल में दिखाए गए की तरह कोड टाइप करें। |
07:25 | अब मैं कोड समझाता हूँ। |
07:28 | फंक्शन के अंदर एक अतिरिक्त कोड की लाइन को छोड़कर, कोड पहले की तरह समान है। |
07:36 | 'फंक्शन' ब्लॉक के अंदर हमारे पास एक लाइन है 'local' स्पेस 'username इक्वल्स टू jack' |
07:41 | यह, वेरिएबल 'यूज़रनेम लोकली' के लिए एक नयी वैल्यू नियुक्त करता है। |
07:48 | अब 'टर्मिनल' पर जाते हैं। |
07:50 | अब फाइल को निष्पादन योग्य बनाते हैं। |
07:52 | टाइप करें 'chmod' स्पेस 'प्लस x स्पेस l_वेरिएबल.sh' |
08:00 | एंटर दबाएं। |
08:02 | टाइप करें 'डॉट स्लैश l_वेरिएबल.sh' |
08:07 | एंटर दबाएं। |
08:08 | आउटपुट प्रदर्शित होता है |
08:10 | 'फंक्शन' के बाहर 'यूज़रनेम' वैल्यू 'sunita' लेता है। |
08:15 | जबकि 'फंक्शन' के अंदर, 'यूज़रनेम' वैल्यू 'jack' लेता है। |
08:20 | ऐसा इसलिए है क्योंकि फंक्शन के अंदर 'यूज़रनेम' इस वैल्यू को 'लोकली' नियुक्त किया गया है। |
08:26 | अब जल्दी से देखते हैं कि कीबोर्ड से यूज़र इनपुट कैसे प्राप्त होता है। |
08:31 | 'read' कमांड कीबोर्ड से इनपुट स्वीकार करने के लिए प्रयोग किया जाता है। |
08:36 | यह 'यूज़र डिफाइंड वेरिएबल' को एक इनपुट वैल्यू नियुक्त करने के लिए भी प्रयोग किया जा सकता है। |
08:41 | 'read' कमांड का रचनाक्रम है.. |
08:44 | 'read स्पेस हाइफन p स्पेस डबल कोट्स में PROMPT' |
08:50 | ध्यान दें, कि 'PROMPT' बस एक स्ट्रिंग है, जो यूज़र इनपुट के लिए प्रतीक्षा करता है। |
08:55 | आप अपनी स्ट्रिंग से इसको बदल सकते हैं। |
08:58 | अब 'टर्मिनल' खोलते हैं। |
09:00 | टाइप करें 'gedit' स्पेस read.sh स्पेस &' (ampersand sign) |
09:08 | एंटर दबाएं। |
09:09 | अपनी 'read.sh' फाइल में प्रदर्शित की तरह कोड टाइप करें। |
09:14 | अब मैं कोड समझाता हूँ। |
09:16 | इस उदाहरण में, यूज़र के द्वारा कीबोर्ड से इनपुट दिया गया है। |
09:21 | यह 'bang' लाइन है। |
09:23 | यहाँ '-p' एक नयी लाइन के बिना प्रॉम्प्ट दिखाता है और कीबोर्ड से इनपुट लेता है। |
09:31 | यूज़र इनपुट, वेरिएबल 'यूज़रनेम' में संचित किया जायेगा। |
09:36 | 'echo' कमांड मैसेज दिखाता है |
09:38 | 'Hello' और कीबोर्ड से यूज़र द्वारा प्रविष्ट किया गया नाम। |
09:43 | अब हम प्रोग्राम निष्पादित करते हैं। |
09:45 | अपने टर्मिनल पर वापस आते हैं। |
09:49 | टाइप करें 'chmod' स्पेस 'प्लस x स्पेस read.sh' |
09:55 | एंटर दबाएं। |
09:56 | टाइप करें 'डॉट स्लैश read.sh' एंटर दबाएं। |
10:01 | यहाँ प्रदर्शित होता है 'Enter username' |
10:04 | मैं 'ashwini' टाइप करुँगा। एंटर दबाएं । |
10:08 | मैसेज 'Hello ashwini' प्रदर्शित होता है। |
10:13 | 'ashwini' इनपुट वैल्यू की तरह यूज़र डिफाइंड वेरिएबल 'यूज़रनेम' को नियुक्त किया गया था। |
10:20 | अब अपनी स्लाइड्स पर जाते हैं और सारांशित करते हैं। |
10:23 | इस ट्यूटोरियल में हमने निम्न सीखा, |
10:26 | * 'सिस्टम वेरिएबल्स' |
10:27 | * 'यूज़र डिफाइंड वेरिएबल्स' |
10:29 | * कीबोर्ड से यूज़र इनपुट स्वीकारना। |
10:33 | एक नियत कार्य में |
10:34 | निम्न सिस्टम वेरिएबल्स प्राप्त करने के लिए एक सरल 'Bash' प्रोग्राम लिखें। |
10:38 | * 'pwd' और * 'logname' |
10:41 | एक सरल 'Bash' प्रोग्राम लिखें। |
10:43 | * यूज़र से 'username' पूछना |
10:46 | * अगर यूज़र 10 सेकंड के अंदर कुछ भी प्रविष्ट नहीं करे, तो प्रोग्राम एग्ज़िट करना। |
10:51 | * नोट : 'read -(हाइफन) t 10 -(हाइफन) p' |
10:56 | निम्न लिंक पर उपलब्ध वीडियो देखें। |
10:59 | यह स्पोकन ट्यूटोरियल प्रोजेक्ट को सारांशित करता है। |
11:02 | अच्छी बैंडविड्थ न मिलने पर आप इसे डाउनलोड करके देख सकते हैं। |
11:07 | स्पोकन ट्यूटोरियल प्रोजेक्ट टीम स्पोकन ट्यूटोरियल्स का उपयोग करके कार्यशालाएं चलाती है। ऑनलाइन टेस्ट पास करने वालों को प्रमाणपत्र देते हैं। |
11:16 | अधिक जानकारी के लिए कृपया contact@spoken-tutorial.org पर लिखें। |
11:23 | स्पोकन ट्यूटोरियल प्रोजेक्ट टॉक टू अ टीचर प्रोजेक्ट का हिस्सा है। |
11:27 | यह भारत सरकार के एमएचआरडी के आईसीटी के माध्यम से राष्ट्रीय साक्षरता मिशन द्वारा समर्थित है। |
11:34 | इस मिशन पर अधिक जानकारी http://spoken-tutorial.org\NMEICT-Intro पर उपलब्ध है। |
11:44 | मैं यश वोरा अब आपसे विदा लेता हूँ। हमसे जुड़ने के लिए धन्यवाद। |