BASH/C2/Nested-and-multilevel-if-elsif-statements/Gujarati
From Script | Spoken-Tutorial
Revision as of 14:59, 5 March 2015 by Jyotisolanki (Talk | contribs)
|
|
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 | -e આ backslash 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 | fi આ multilevel 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 કરતા મોટો હોય, |
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 | આ સ્ક્રીપ્ટ માટે ફાળો FOSSEE અને સ્પોકન ટ્યુટોરીયલ ટીમ દ્વારા અપાયેલ છે. |
11:31 | IIT Bombay તરફથી હું, જ્યોતી સોલંકી વિદાય લઉં છું.
જોડાવાબદ્દલ આભાર. |