लूपसाठी "बेसिक" कसे लिहावे

शेल स्क्रिप्टमध्ये BASH "for" लूप कसे वापरावे

बाश (बॉर्न पुन्हा शेल साठी आहे) बहुतेक लिनक्स व युनिक्स-आधारित ऑपरेटिंग प्रणालीद्वारे वापरली जाणारी एक स्क्रिप्टींग भाषा आहे.

आपण टर्मिनल विंडोमध्ये BASH कमांड कार्यान्वित करू शकता. त्यानंतर आपण शेल स्क्रिप्ट तयार करण्यासाठी कमांडस एक टेक्स्ट फाईलमध्ये जोडू शकता.

शेल स्क्रिप्ट लिहायला उत्तम गोष्ट आहे की आपण ते पुन्हा पुन्हा चालू करू शकता. उदाहरणासाठी कल्पना करा की आपण एखाद्या वापरकर्त्याला सिस्टीममध्ये सामील करणे, त्यांची परवानगी सेट करणे आणि त्यांचे प्रारंभिक वातावरण व्यवस्थापित करणे आवश्यक आहे. आपण एकतर कागदाच्या तुकड्यावर कमांड लिहू शकता आणि नवीन वापरकर्ते जोडता तसे आपण चालवू शकता किंवा आपण एकच स्क्रिप्ट लिहू शकता आणि त्या स्क्रिप्टमध्ये पॅरामीटर्सच पास करू शकता.

BASH सारख्या स्क्रिप्टिंग भाषेसारख्या प्रोग्रामिंगची रचना इतर भाषांसारखी आहे. उदाहरणार्थ, कीबोर्डवरून इनपुट प्राप्त करण्यासाठी आपण आयात पॅकेजेस वापरू शकता आणि त्यांना व्हेरिएबल्स म्हणून संचयित करू शकता. आपण इनपुट पॅरामीटर्सच्या मूल्यावर आधारित निश्चित क्रिया करण्यासाठी स्क्रिप्ट प्राप्त करू शकता.

कोणत्याही प्रोग्रामिंग आणि स्क्रिप्टिंग भाषेचा एक मुख्य भाग म्हणजे पुन्हा पुन्हा कोडचा तुकडा चालवण्याची क्षमता.

कोडची पुनरावृत्ती करण्याचे अनेक मार्ग आहेत (याला लूप असेही म्हणतात) या मार्गदर्शकावर आपण "for" लूप कसे लिहायचे ते दाखवले जाईल.

A for लूप कोडच्या विशिष्ट भागावर प्रती आणि पुनरावृत्ती करते. ते उपयुक्त आहेत जेणेकरून एखाद्या विशिष्ट स्थितीची पूर्तता होईपर्यंत आदेशांची मालिका चालू ठेवू शकतात, त्यानंतर ते थांबतील.

या मार्गदर्शकावर, आपण BASH स्क्रिप्टमध्ये लूप साठी वापरण्यासाठी पाच मार्ग दर्शविले जातील.

प्रारंभ करण्यापूर्वी

लूप उदाहरणासह प्रारंभ करण्यापूर्वी, आपल्याला एक टर्मिनल विंडो उघडणे आणि या चरणांचे अनुसरण करणे आवश्यक आहे:

  1. एमकेडीआयआर स्क्रिप्ट्स प्रविष्ट करा ( येथे एमकेडीअरबद्दल अधिक जाणून घ्या )
  2. सीडी स्क्रिप्ट्स प्रविष्ट करा (हे स्क्रिप्टला निर्देशिका बदलते )
  3. नॅनो examplen.sh प्रविष्ट करा (जेथे n वर आपण कार्य करीत आहात ते आहे)
  4. स्क्रिप्ट प्रविष्ट करा
  5. सेव्ह करण्यासाठी CTRL + O आणि बाहेर पडण्यासाठी CTRL + X दाबा
  6. Bash examplen.sh चालवा (पुन्हा, n हे आपण ज्याप्रकारे कार्य करीत आहात त्याचे उदाहरण घ्या)

एक यादी माध्यमातून वळण कसे

#! / bin / bash
नंबरसाठी 1 2 3 4 5
करा
echo $ number
केले
exit 0

"For" loops वापरण्याचा BASH मार्ग बर्याच इतर प्रोग्रामींग आणि स्क्रिप्टिंग भाषा "फॉर" लूपसाठी हाताळतात. चला स्क्रिप्ट खाली खंडित करू ...

"For" लूप मध्ये BASH मध्ये सर्वकाही करावे आणि केलेजाते ते स्टेटमेन्ट प्रत्येक यादीतील एकदाच केले जाते.

उपरोक्त उदाहरणामध्ये, यादीतील सर्व गोष्टी (म्हणजेच 1 2 3 4 5) मध्ये येतात.

जेव्हा प्रत्येक वेळी लूपची पुनरावृत्ती होईल तेव्हा सूचीमधील पुढील मूल्य "for" शब्दाच्या नंतर निर्दिष्ट केलेल्या व्हेरिएबलमध्ये घातले जाईल. वरील लूपमध्ये व्हेरिएबलला नंबर म्हणतात.

स्क्रीनवर माहिती प्रदर्शित करण्यासाठी इको स्टेटमेंट वापरले आहे.

म्हणूनच, हे उदाहरण संख्या 1 ते 5 घेते आणि त्यांना प्रत्येकी एक पडद्यावर दाखवते.

एक प्रारंभ आणि शेवट बिंदू दरम्यान वळण कसे?

वरील उदाहरणातील समस्या अशी आहे की जर आपण एका मोठ्या यादीवर (1 ते 500 व्या क्रमांकावर) प्रक्रिया करू इच्छित असाल तर प्रथम क्रमांकांमध्ये सर्व संख्या टाईप करा.

हे आपल्याला दुस-या उदाहरणावर घेऊन आले आहे ज्यात आपल्याला प्रारंभ आणि शेवटचा बिंदू कसा निर्दिष्ट करायचा हे दर्शविते.

#! / bin / bash
संख्या {1..10} मध्ये
करा
प्रतिध्वनी "$ number"
केले
exit 0

नियम मुळात समान आहेत. " इन" या शब्दाच्या नंतरच्या मूल्यांनुसार सूची तयार केली जाते आणि सूचीमधील प्रत्येक मूल्य ही व्हेरिएबल (म्हणजेच संख्या) मध्ये ठेवली जाते आणि प्रत्येक वेळी लूप पुनरावृत्ती केली जाते, तेव्हा केल्याप्रमाणे केले आणि केले जाणारे विधान केले जातात.

मुख्य फरक हा मार्ग आहे की सूची तयार केली जाते. कुरळे ब्रॅकेट {} मुळात एक श्रेणी दर्शविते आणि या प्रकरणात श्रेणी 1 ते 10 आहे (दोन ठिपके एक श्रेणीचा प्रारंभ आणि समाप्ती वेगळा करतात).

या उदाहरणामुळे, प्रत्येक संख्यामार्फत 1 ते 10 दरम्यान चालते आणि पडद्यास संख्या खालील प्रमाणे होते:

समान लूप हे असे लिहीले गेले आहे, उदाहरणार्थ पहिला सिंटॅक्स :

नंबरसाठी 1 2 3 4 5 6 7 8 9 10

श्रेणीनुसार क्रमांक वगळा कसा

मागील उदाहरणाने प्रारंभ आणि समाप्ती बिंदू दरम्यान कसे वळले ते दाखवले, तर आता आम्ही श्रेणीतील संख्या वगळण्यासाठी कसे पहाल.

कल्पना करा की 0 आणि 100 दरम्यान लूप करा, परंतु केवळ दहावे नंबर दर्शवा. खालील स्क्रिप्ट कसे दाखवायचे ते दाखवते:

#! / bin / bash
नंबरसाठी {0..100 .. 10} मध्ये
करा
प्रतिध्वनी "$ number"
केले
exit 0

नियम मुळात समान आहेत. एक सूची आहे, एक चल, आणि काय करावे आणि पूर्ण दरम्यान केले जाणारे स्टेटमेन्ट एक संच आहे. या वेळी या प्रमाणे दिसणारी यादी: {0..100..10}

पहिली संख्या 0 आहे आणि शेवटची संख्या 100 आहे. तिसरी संख्या (10) ही यादीतील बाबींची संख्या आहे जी ते वगळेल.

वरील उदाहरणात, खालील आउटपुट दर्शविते:

लूपसाठी अधिक पारंपारिक पहाणे

इतर प्रोग्रॅमिंग भाषांच्या तुलनेत लूपसाठी लिहिण्याचे बाश मार्ग थोडीशी विचित्र आहे.

तथापि, आपण C प्रोग्रामिंग भाषेस समान शैलीमध्ये लूप लिहू शकता, जसे की:

#! / bin / bash
साठी ((संख्या = 1; संख्या <100; संख्या ++))
{
जर (($ संख्या% 5 == 0))
नंतर
echo "$ संख्या 5 ने विभाज्य आहे"
फाई
}
exit 0

व्हेरिएबल संख्या 1 (संख्या = 1 ) मध्ये सेट करून लूप सुरू होते. जेव्हा संख्या 100 पेक्षा कमी असते तेव्हा ( संख्या <100 ) हे लूप तेवढ्यावर ठेवेल. प्रत्येक पुनरावृत्तीनंतर ( संख्या ++ ) नंतर 1 यामध्ये संख्या जोडून ती संख्या बदलते.

कुरळे कंसामधील सर्व काही लूपच्या प्रत्येक पुनरावृत्तीच्या माध्यमातून केले जाते.

महिरपी कंस यातील बिंदू एका संख्येचे मूल्य तपासते, त्याला 5 ने विभाजित करते आणि उर्वरित 0 शी तुलना करते. बाकीचे 0 असल्यास संख्या 5 ने विभाज्य आहे आणि नंतर स्क्रीनवर प्रदर्शित केली जाते.

उदाहरणार्थ:

आपण पुनरावृत्ती चरण आकार बदलू इच्छित असल्यास आपण क्रमांक = संख्या + 2 , संख्या = संख्या + 5 , किंवा संख्या = संख्या +10 इ. संख्या संख्या सुधारण्यासाठी करू शकता.

हे पुढील संख्या ++ = 2 किंवा संख्या + = 5 पर्यंत कमी केले जाऊ शकते.

एक व्यावहारिक उदाहरण

लूप संख्यांची पुनरावृत्ती यादीपेक्षा अधिक करू शकतात. आपण सूची म्हणून प्रत्यक्षात इतर कमांडसचे आउटपुट वापरू शकता.

खालील उदाहरणावरून असे दिसते की ऑडिओ फाइल्स MP3 पासून WAV पर्यंत कसे रूपांतरित करावेत:

#! / bin / bash

या उदाहरणात यादीतील सर्व फाईल्स सध्याच्या फोल्डरमध्ये .mp3 एक्सटेंशनसह असतात आणि व्हेरिएबल एक फाइल आहे .

एमपीजी कमांड एमपी 3 फाईलला WAV मध्ये रुपांतरीत करते. तथापि, प्रथम आपण आपल्या पॅकेज व्यवस्थापकाचा वापर करुन हे स्थापित करणे आवश्यक आहे.