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

From Script | Spoken-Tutorial
Revision as of 12:08, 23 February 2017 by PoojaMoolya (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time
Narration
00:00 નમસ્તે મિત્રો, BASH (બેશ) માં Nested (નેસ્ટેડ) અને multilevel if statement (મલ્ટીલેવલ ઈફ-એલ્સ સ્ટેટમેંટ) પરનાં સ્પોકન ટ્યુટોરીયલમાં સ્વાગત છે.
00:09 આ ટ્યુટોરીયલમાં, આપણે શીખીશું
00:12 Nested if-else (નેસ્ટેડ ઈફ-એલ્સ) અને
00:14 Multilevel if-else statement (મલ્ટીલેવલ ઈફ-એલ્સ સ્ટેટમેંટ)
00:17 આ બધું આપણે કેટલાક ઉદાહરણો વાપરીને કરીશું.
00:22 આ ટ્યુટોરીયલનાં અનુસરણ માટે, તમને લીનક્સ ઓપરેટીંગ સીસ્ટમનું જ્ઞાન હોવું જરૂરી છે.
00:28 જો નથી, તો સંદર્ભિત ટ્યુટોરીયલો માટે દર્શાવેલ અમારી વેબસાઈટનો સંદર્ભ લો.
00:35 આ ટ્યુટોરીયલ માટે હું વાપરી રહ્યી છું
00:38 ઉબુન્ટુ લીનક્સ 12.04 ઓએસ અને
00:42 GNU Bash આવૃત્તિ 4.1.10
00:46 અભ્યાસ માટે GNU Bash આવૃત્તિ 4 કે તેથી વધુ આગ્રહ કરીએ છીએ.
00:52 ચાલો સમજી લઈએ કે Nested if-else સ્ટેટમેંટ
00:57 અહીં, condition1 (કંડીશન ૧) જો true (ટ્રુ) હોય, તો condition 2 (કંડીશન ૨) ને ઉકેલવામાં આવશે.
01:04 જો condition 2 (કંડીશન ૨) true (ટ્રુ) હોય, તો statement 1 (સ્ટેટમેંટ ૧) એક્ઝીક્યુટ થશે.
01:10 આનો અર્થ એ થાય છે કે, condition1 અને 2 આ બંને કંડીશનોનાં true (ટ્રુ) હોવા પર જ, statement 1 (સ્ટેટમેંટ ૧) એક્ઝીક્યુટ થશે.
01:19 condition1 (કંડીશન ૧) જો false (ફોલ્સ) હોય, તો statement 3 (સ્ટેટમેંટ ૩) એક્ઝીક્યુટ થશે.
01:25 અને જો condition 2 (કંડીશન ૨) false (ફોલ્સ) હોય, તો statement 2 (સ્ટેટમેંટ ૨) એક્ઝીક્યુટ થશે.
01:31 ચાલો ઉદાહરણ જોઈએ.
01:33 nestedifelse.sh ફાઈલમાં મેં કોડ લખી લીધો છે.
01:38 હું તે ખોલીશ.
01:40 ચાલો અત્યારે હું કોડ સમજાઉં.
01:43 shebang (શીબેંગ) લાઈન છે.
01:45 વેરીએબલ NAME (નેમ) ને વેલ્યુ anusha એસાઈન કરાઈ છે.
01:50 વેરીએબલ PASSWORD (પાસવર્ડ) ને વેલ્યુ abc123 એસાઈન કરાઈ છે.
01:56 read (રીડ) કમાંડ standard input (સ્ટેનડર્ડ ઈનપુટ) માંથી ડેટાની એક લાઈન વાંચે છે.
02:02 - (hyphen) p ફ્લેગ પ્રોમ્પ્ટ દર્શાવે છે.
02:05 - (હાઈફન) p પછી “Enter name: ” આ સ્ટ્રીંગ ટર્મિનલ પર દેખાડવામાં આવશે.
02:11 myname આ વેરીએબલ યુઝર દ્વારા દાખલ કરેલ ટેક્સ્ટને એટલે કે યુઝર ઈનપુટને સંગ્રહીત કરે છે.
02:18 પહેલું if (ઈફ) સ્ટેટમેંટ myname અને NAME આ બે વેરીએબલોની તુલના કરે છે.
02:24 એટલે કે યુઝર ઈનપુટ અને વેરીએબલ Name માં સંગ્રહાયેલી વેલ્યુ જે કે anusha છે.
02:31 જો બંને વેલ્યુઓ મેળ ખાય, તો આ if સ્ટેટમેંટમાનાં બચેલ કોડનો ઉકેલ થશે.
02:38 read (રીડ) કમાંડ દાખલ કરેલ પાસવર્ડને વાંચે છે અને તેને વેરીએબલ mypassword માં સંગ્રહે છે.
02:46 અહીં, - (હાઈફન) s ફ્લેગ silent mode (સાઈલેંટ મોડ) માટે છે.
02:49 એનો અર્થ એ છે કે યુઝર દ્વારા દાખલ કરેલ ટેક્સ્ટને ટર્મિનલ પર દેખાડવામાં આવશે નહી.
02:56 અહીં આપણી પાસે if-else સ્ટેટમેંટોનું હજુ એક સમુચ્ચય છે.
02:59 if-else સ્ટેટમેંટોનાં સમુચ્ચયને પ્રથમ if (ઈફ) અંતર્ગત નાખવામાં આવ્યું છે.
03:05 બીજું if (ઈફ) સ્ટેટમેંટ mypassword અને PASSWORD આ વેરીએબલોની તુલના કરે છે.
03:12 if કંડીશન true થવા પર એટલે કે પાસવર્ડ મેળ થઇ જવા પર ટર્મિનલ પર,
03:18 echo કમાંડ “Welcome” આ મેસેજ દર્શાવે છે.
03:21 -ebackslash escapes નું અર્થઘટન સક્રિય કરે છે.
03:27 \n નવી લાઈન માટે છે; જેનો અર્થ એ છે કે સ્ટ્રીંગ "Welcome” નવી લાઈન પર પ્રીંટ થશે.
03:35 જ્યારે if કંડીશન true ના હોય, તો else કંડીશન એક્ઝીક્યુટ થશે;
03:42 એટલે કે જ્યારે પાસવર્ડ મેળ ન ખાય તો, else કંડીશન એક્ઝીક્યુટ થશે.
03:48 આ કિસ્સામાં, echo કમાંડ “Wrong password” આવું દર્શાવે છે.
03:53 અંદરનાં if-else સ્ટેટમેંટનો fi દ્વારા અંત થાય છે.
03:57 આપણા પહેલા if-else સ્ટેટમેંટ પર પાછા આવીએ.
04:01 જો myname અને NAME માંની વેલ્યુઓ મેળ ન ખાય, તો આ else સ્ટેટમેંટ એક્ઝીક્યુટ થશે.
04:09 આનાથી ટર્મિનલ પર “Wrong Name” આ મેસેજ echo થશે.
04:14 fi થી બહાર if-else સ્ટેટમેંટનો અંત થાય છે.
04:18 હવે તમારા કીબોર્ડ પર ctrl+alt અને t કી એકસાથે દાબીને ટર્મિનલ વિન્ડો ખોલો.
04:27 ફાઈલને એક્ઝીક્યુટ કરવા યોગ્ય બનાવીએ.
04:29 ટાઈપ કરો: chmod સ્પેસ પ્લસ x સ્પેસ nestedifelse.sh
04:38 હવે ટાઈપ કરો ડોટ સ્લેશ nestedifelse.sh
04:43 પ્રોગ્રામ બે કંડીશનો તપાસ કરે છે
04:46 એટલે કે Name અને Password
04:48 જ્યારે તે ટર્મિનલ પર એક્ઝીક્યુટ થાય છે.
04:52 અહીં, પ્રોમ્પ્ટ દર્શાવે છે Enter Name
04:55 ચાલો ટાઈપ કરીએ anusha.
04:57 આ કંડીશન true હોવાથી, આગળની if કંડીશન ઉકેલાશે.
05:02 હવે પ્રોમ્પ્ટ દર્શાવે છે Password
05:05 હું પાસવર્ડ આ રીતે ટાઈપ કરીશ abc123
05:10 પાસવર્ડ વેરીએબલ PASSWORD માંની વેલ્યુથી મેળ ખાય છે.
05:15 તેથી, પ્રોમ્પ્ટ Welcome આ મેસેજ દર્શાવે છે.
05:19 હવે ચાલો ફરીથી સ્ક્રીપ્ટ એક્ઝીક્યુટ કરીએ.
05:21 અપ એરો કી દબાવો.
05:24 ડોટ સ્લેશ nestedifelse.sh પર જાવ.
05:29 Enter દબાવો.
05:31 આ વખતે આપણે સમાન નામ સાથે, જુદો પાસવર્ડ દાખલ કરીશું.
05:37 તો હું anusha તરીકે નામ અને 123 તરીકે પાસવર્ડ દાખલ કરીશ.
05:44 name ની વેલ્યુ મેળ ખાશે પરંતુ password વેલ્યુ મળશે નહી.
05:49 તેથી, Wrong password આ મેસેજ દર્શાવવામાં આવશે.
05:53 આનાથી સાબિત થાય છે કે પહેલા if સ્ટેટમેંટ અંતર્ગત આવેલ nested else સ્ટેટમેંટ એક્ઝીક્યુટ થયું હતું.
06:01 ચાલો સ્ક્રીપ્ટને વધુ એક વાર એક્ઝીક્યુટ કરીએ.
06:04 આ વખતે આપણે નામ swati તરીકે આપીશું.
06:08 “Wrong name” આ મેસેજ દ્રશ્યમાન થાય છે.
06:12 આ એટલા માટે કારણ કે પહેલા જાહેર કરેલ વેલ્યુ anusha થી નામ swati મેળ ખાતું નથી.
06:19 નિયંત્રણ પહેલા if સ્ટેટમેંટથી બહાર આવે છે અને else સ્ટેટમેંટ એક્ઝીક્યુટ થાય છે.
06:25 Wrong name આ મેસેજ પ્રીંટ કરે છે.
06:29 હવે ચાલો multilevel if-else સ્ટેટમેંટ તરફે જોઈએ.
06:34 જો condition1 (કંડીશન ૧) true (ટ્રુ) હોય, તો statement1 (સ્ટેટમેંટ ૧) એક્ઝીક્યુટ થાય છે.
06:40 જો condition1 (કંડીશન ૧) false (ફોલ્સ) હોય, તો condition 2 (કંડીશન ૨) ઉકેલાય છે.
06:46 જો condition2 (કંડીશન ૨) true (ટ્રુ) હોય, તો statement 2 (સ્ટેટમેંટ ૨) એક્ઝીક્યુટ થાય છે.
06:52 અને જો condition2 (કંડીશન ૨) false (ફોલ્સ) હોય, તો condition N (કંડીશન N) ઉકેલાય છે.
06:58 જો condition N (કંડીશન N) true (ટ્રુ) હોય, તો statement N (સ્ટેટમેંટ N) એક્ઝીક્યુટ થાય છે.
07:03 અને જો Condition N (કંડીશન N) false (ફોલ્સ) હોય, તો statement X (સ્ટેટમેંટ X) એક્ઝીક્યુટ થશે.
07:10 ચાલો ઉદાહરણ જોઈએ.
07:12 મારી પાસે કાર્ય કરતુ એક ઉદાહરણ છે.
07:14 હું તે ખોલીશ. આપણી ફાઈલનું નામ multilevel હાઈફન ifelse ડોટ sh છે તેની નોંધ લો.
07:23 ચાલો કોડ મારફતે જઈએ.
07:25 shebang line (શીબેંગ લાઈન) છે.
07:27 mystring એક વેરીએબલ છે જે યુઝર દ્વારા અપાયેલ શબ્દ, ઈનપુટને એક્ઝીક્યુટ પ્રક્રીયા દરમ્યાન સંગ્રહે છે.
07:34 if કંડીશન તપાસ કરે છે કે ઈનપુટ સ્ટ્રીંગ null છે કે નહી.
07:39 - (hyphen) z તપાસ કરે છે કે સ્ટ્રીંગની લંબાઈ શૂન્ય છે કે નહી.
07:44 ટર્મિનલ પર man test ટાઈપ કરો અને વિભિન્ન સ્ટ્રીંગ સરખામણીનું અન્વેષણ કરો.
07:51 કંઈપણ ટાઈપ કરાયું નહી તો, આ echo સ્ટેટમેંટ પ્રીંટ થશે.
07:56 પહેલી elif કંડીશન તપાસ કરે છે કે ઈનપુટ સ્ટ્રીંગ raj ધરાવે છે કે નહી.
08:03 જો તે હોય, તો આ echo સ્ટેટમેંટ પ્રીંટ થશે.
08:08 wildcard character એ વાતની ખાતરી કરે છે કે, raj ધરાવતા કોઈપણ શબ્દની બરાબર ઓળખ થાય.
08:15 આગળ આવેલ elif કંડીશન તપાસ કરે છે કે ઈનપુટ સ્ટ્રીંગ jit ધરાવે છે કે નહી.
08:22 જો તે હોય, તો આ echo સ્ટેટમેંટ પ્રીંટ થશે.
08:27 ઉપરની તમામ કંડીશનો નિષ્ફળ જવા પર else કંડીશન એક્ઝીક્યુટ થશે.
08:33 અને તે આપેલ મેસેજ દર્શાવશે Sorry! Input does not contain either 'raj' or jit
08:41 fimultilevel if-else સ્ટેટમેંટનો અંત દર્શાવે છે.
08:46 હવે ચાલો પ્રોગ્રામ એક્ઝીક્યુટ કરીએ.
08:48 આપણા ટર્મિનલ પર પાછા આવીએ.
08:51 ટાઈપ કરો: chmod સ્પેસ પ્લસ x સ્પેસ multilevel હાઈફન ifelse ડોટ sh
09:00 ટાઈપ કરો ડોટ સ્લેશ multilevel હાઈફન ifelse ડોટ sh
09:06 આપણને ઈનપુટ માટે પ્રોમ્પ્ટ કરાય છે.
09:09 ચાલો જુદા જુદા ઈનપુટો આપીએ અને જોઈએ કે દરેક સમયે શું થાય છે.
09:14 કંઈપણ ટાઈપ કર્યા વગર હું પહેલા Enter દબાવીશ.
09:19 Nothing was Entered આ મેસેજ દ્રશ્યમાન થાય છે.
09:22 અને નિયંત્રણ multilevel if-else સ્ટેટમેંટથી બહાર પડે છે.
09:28 ચાલો હું પ્રોમ્પ્ટ સાફ કરૂ.
09:30 જુદું ઈનપુટ આપીને ચાલો સ્ક્રીપ્ટને એક્ઝીક્યુટ કરવાનો પ્રયાસ કરીએ.
09:34 up arrow (અપ એરો) કી દબાવો.
09:36 ડોટ સ્લેશ multilevel હાઈફન ifelse ડોટ sh પર જાવ.
09:41 Enter દબાવો.
09:43 પ્રોમ્પ્ટ "Enter a Word" આવું દર્શાવે છે.
09:45 હું abhijit ટાઈપ કરીશ.
09:48 આ રીતે આઉટપુટ દેખાય છે. “abhijit contains word jit”.
09:53 આ આપણા કોડમાં પ્રોગ્રામનું નિયંત્રણ ત્રીજી condition (કંડીશન) પર ગયું છે તે દર્શાવે છે.
09:59 પહેલી બે કંડીશનો મળી નથી.
10:03 બધીજ કંડીશનો માટે સમાન તર્ક લાગુ થાય છે.
10:07 જુદું જુદું ઈનપુટ આપીને પ્રોગ્રામ એક્ઝીક્યુટ કરો અને પરીણામ તપાસો.
10:13 ચાલો સારાંશ લઈએ.
10:15 આ ટ્યુટોરીયલમાં આપણે, આપેલનો ઉપયોગ કરવાનું શીખ્યા
10:18 Name (નેમ) અને Password (પાસવર્ડ) ચકાસણી સાથે Nested If-else અને
10:23 Multilevel if-else: String comparison (સ્ટ્રીંગ કંપેરીઝન) પ્રોગ્રામ
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 આ મિશન પર વધુ માહિતી નીચે દર્શાવેલ લીંક પર ઉપલબ્ધ છે.http://spoken-tutorial.org/NMEICT-Intro
11:26 આ સ્ક્રીપ્ટ માટે ફાળો FOSSEE અને સ્પોકન ટ્યુટોરીયલ ટીમ દ્વારા અપાયેલ છે.
11:31 IIT Bombay તરફથી હું, જ્યોતી સોલંકી વિદાય લઉં છું. જોડાવાબદ્દલ આભાર.

Contributors and Content Editors

Jyotisolanki, PoojaMoolya