शेल, बॅश आणि स्क्रिप्ट्स: शेल स्क्रिप्टिंग विषयी सर्व.

या नवीन संधीमध्ये (प्रविष्टी # 8) याबद्दल "शेल स्क्रिप्टिंग जाणून घ्या" आम्ही सराव करण्यापेक्षा सिद्धांतावर अधिक लक्ष केंद्रित करू. म्हणजेच, आम्ही एखादा कोड स्थापित किंवा अभ्यास करणार नाही किंवा एखादे विशिष्ट सॉफ्टवेअर (पॅकेज) स्थापित करणार नाही, परंतु आपण जगाचे जग जाणून घेणार आहोत शेल स्क्रिप्टिंग छोट्या परंतु थेट प्रश्नांची उत्तरे देऊन योग्यरित्या बोलणे, जे खाली दिले गेले आहे ते आतापर्यंत जे काही शिकवले गेले आहे ते स्पष्ट करण्यासाठी, जे प्रोग्राम केलेल्या अंतर्गत कोडचा थेट संदर्भ देत नाही:

शेल स्क्रिप्टिंग

जीएनयू / लिनक्स ऑपरेटिंग सिस्टममध्ये शेल काय आहे?

स्पॅनिशमध्ये शेल म्हणजे कोन्चा (शेल, कव्हर, संरक्षण). ऑपरेटिंग सिस्टममध्ये हा शब्द लागू केल्याने ऑपरेटिंग सिस्टमच्या कमांड इंटरप्रिटरचा संदर्भ घेतला. सर्वसाधारणपणे, हा एक उच्च-कार्यक्षमता मजकूर इंटरफेस आहे, जो टर्मिनल (कन्सोल) च्या स्वरूपात प्रकट होतो आणि तो 3 महत्त्वाच्या कार्य क्षेत्रांमध्ये आवश्यकपणे कार्य करतो:

1.- ओएस व्यवस्थापित करा,
२- अनुप्रयोग चालवा आणि त्यांच्याशी संवाद साधा आणि
3.- मूलभूत प्रोग्रामिंग वातावरण म्हणून सर्व्ह करावे.

बरेच एसओ, जीएनयू / लिनक्स टर्मिनलद्वारे त्यांचे कॉन्फिगरेशन फायली संपादित करुन ते अधिक कार्यक्षमतेने व्यवस्थापित केले जातात. सामान्य नियम म्हणून, हे गंतव्य मार्गावर आढळतात: «/ इत्यादी ", आणि प्रत्येक अनुप्रयोगासाठी विशिष्ट निर्देशिका मध्ये. उदाहरणार्थ, प्रोग्राम लिलो (ज्यात लिनक्स लोडरचा अर्थ आहे) स्थित असलेल्या मजकूर फाईलमध्ये संपादन करून कॉन्फिगर केले आहे "/Etc/lilo/lilo.conf". प्रोग्राम्स (applicationsप्लिकेशन्स) च्या बाबतीत, हे एक्झिक्युटेबलचे नाव लिहून सुरू केले जातात (कार्यान्वित / सक्रिय केले जातात) जर ते सर्व एक्झिक्युटेबलसाठी पथ (डीफॉल्ट पथ) मध्ये आढळले तर ते सामान्यत: "/ यूएसआर / बिन" किंवा यापूर्वी कार्यकारीचे नाव टाइप करून: ./, जेथे आहेत त्या डिरेक्टरीमधून.

हे सर्व कोणत्याही शेल वापरकर्त्यास चांगले माहित आहे. तथापि, प्रोग्रामिंग वातावरण म्हणून त्यातील क्षमता तितक्या ज्ञात आणि कौतुक नाहीत. शेलमध्ये तयार केलेल्या स्क्रिप्ट्स (प्रोग्राम) संकलित करण्याची आवश्यकता नाही. शेल त्यांचे रांग लावून रांगेत व्याख्या करते. म्हणूनच, या शेल स्क्रिप्ट्स म्हणून ओळखल्या जातात किंवा त्या नावाने ओळखल्या जातात आणि ओएस सुरू करण्यासाठी सुलभ आज्ञा पासून जटिल निर्देशांपर्यंतच्या असू शकतात. सर्वसाधारणपणे, ब clean्यापैकी स्वच्छ (स्पष्ट) वाक्यरचना (बांधकाम, क्रमवारी), प्रोग्रामिंगच्या जगात प्रारंभ करण्यासाठी त्यांना एक चांगला प्रारंभ बिंदू बनवित आहे.

शेल स्क्रिप्टिंग म्हणजे काय?

हे ऑपरेटिंग सिस्टमचे शेल (शक्यतो) किंवा टेक्स्ट एडिटर (ग्राफिक किंवा टर्मिनल) वापरून स्क्रिप्ट (टास्क ऑटोमेशन फाइल) डिझाइन आणि तयार करण्याचे तंत्र (क्षमता / कौशल्य) आहे. हा प्रोग्रामिंग भाषेचा एक प्रकार आहे ज्याचा सामान्यत: अर्थ लावला जातो. म्हणजेच, बहुतेक प्रोग्राम्स कंपाईल केलेले (कोड केलेले), कारण ते अंमलात आणण्यापूर्वी (विशिष्ट प्रक्रिया) कायमचे बदलले जातात (संकलन प्रक्रिया), शेल स्क्रिप्ट मूळ स्वरूपातच राहते (तिचा कोड मजकूर स्त्रोत) आणि आहेत प्रत्येक वेळी कार्यान्वित केल्या गेलेल्या आदेशाद्वारे आज्ञाद्वारे आज्ञा केली. जरी हे शक्य नसले तरी स्क्रिप्ट्स देखील संकलित केली जाऊ शकतात.

शेल स्क्रिप्टिंग अंतर्गत प्रोग्रामिंगवर आधारित प्रोग्रामची वैशिष्ट्ये कोणती आहेत?

1.- ते लिहिणे (प्रोग्राम) करणे सोपे आहे, परंतु जेव्हा ते अंमलात आणले जातात तेव्हा जास्त प्रक्रिया खर्चासह.

2.- ते चालविण्यासाठी कंपाईलरऐवजी दुभाष्यांचा वापर करतात

3.- इतर प्रोग्रामिंग भाषांमध्ये लिहिलेल्या घटकांसह त्यांचे संप्रेषण संबंध आहेत.

-.- त्या असलेल्या फाईल्स साध्या मजकूर म्हणून साठवल्या जातात.

-.- अंतिम डिझाइन (कोड) सहसा संकलित प्रोग्रामिंग भाषेच्या समकक्षापेक्षा लहान असते.

शेल स्क्रिप्टिंग अंतर्गत कोणत्या प्रकारच्या भाषा लोकप्रिय आहेत?

1.- कार्य आणि शेल नियंत्रण भाषा:

ए) सेमीडी.एक्सए (विंडोज एनटी, विंडोज सीई, ओएस / 2),
बी) कमांड.कॉम ​​(डॉस, विंडोज 9 एक्स),
c) csh, बॅश, Appleपलस्क्रिप्ट, श,
d) विंडोज स्क्रिप्ट होस्ट मार्गे JScript,
e) विंडोज स्क्रिप्ट होस्ट मार्गे व्हीबीएसस्क्रिप्ट,
एफ) इतर अनेकांमधील आरईएक्सएक्स.

२- जीयूआय स्क्रिप्टिंग (मॅक्रो भाषा):

अ) ऑटोहॉटकी,
बी) ऑटोआयटी,
क) अपेक्षा,
डी) स्वयंचलित यंत्र

-. विशिष्ट अनुप्रयोगांची स्क्रिप्टिंग भाषाः

अ) फ्लॅशमधील Actionक्शनस्क्रिप्ट,
ब) मॅटलाब,
क) एमआयआरसी स्क्रिप्ट,
डी) क्वेकेसी, इतरांमध्ये.

-. वेब प्रोग्रामिंग (डायनॅमिक पृष्ठांसाठी):

ए) सर्व्हर बाजूला:

- पीएचपी,
- एएसपी (सक्रिय सर्व्हर पृष्ठे),
- जावा सर्व्हर पृष्ठे,
- कोल्डफ्यूजन,
- आयपीटीएससीआरए,
- लास्को,
- MIVA स्क्रिप्ट,
- एसएमएक्स,
- एक्सएसएलटी, इतरांसह.

ब) ग्राहकांच्या बाजूलाः

- जावास्क्रिप्ट,
- JScript,
- व्हीबीएसस्क्रिप्ट,
- टीसीएल, इतरांमध्ये.

-.- शब्द प्रक्रिया भाषा:

- AWK,
- पर्ल,
- तहान,
- एक्सएसएलटी,
- बॅश, इतरांमध्ये.

-.- सामान्य हेतू डायनॅमिक भाषा:

- एपीएल,
- बू,
- डायलन,
- फेरीट,
- ग्रूव्हि,
- आयओ,
- लिस्प,
- लुआ,
- एमएमपीएस (एम),
- न्यूआयएलएसपी,
- नुवा,
- पर्ल,
- पीएचपी,
- पायथन,
- रुबी,
- योजना,
- लहान संभाषण,
- सुपरकार्ड,
- टीसीएल,
- क्रांती, इतरांमध्ये.

जीएनयू / लिनक्समध्ये बॅश काय आहे?

हा एक संगणक प्रोग्राम आहे ज्याचे कार्य ऑर्डरचे स्पष्टीकरण करणे आहे. हे आधारित आहे युनिक्स शेल आणि हे समर्थन करते पॉझिक्स. हे जीएनयू प्रोजेक्टसाठी लिहिलेले आहे आणि बहुतेक लिनक्स वितरणासाठी हे डीफॉल्ट शेल आहे.

जीएनयू / लिनक्समध्ये शेल स्क्रिप्ट काय आहे?

शेल स्क्रिप्ट्स ते अत्यंत उपयुक्त आहेत. आपल्याकडे असलेल्या गरजा लिहिणे आणि नंतर आपल्यासाठी हे कार्य करणार्‍या स्क्रिप्ट्स संपादित करणे ही चांगली कल्पना आहे. आतापर्यंत, स्क्रिप्ट नेमके काय आहे हे स्वतःला विचारण्याची वेळ आली आहे. ही एक मजकूर फाईल आहे, ज्यामध्ये शेल कमांड्सची मालिका आहे, जी सिस्टम वरुन खालीपर्यंत सुव्यवस्थित पद्धतीने कार्यान्वित करते. त्यांचे संपादन करण्यासाठी, आपल्याला सध्या अस्तित्वात असलेल्या केवळ एमाक्स, व्ही, नॅनो सारख्या मजकूर संपादकाची आवश्यकता आहे. ते “.sh” विस्तारासह जतन केले जातात (किंवा त्याशिवाय, काही प्रकरणांमध्ये) आणि शेल कडून चालवले जातात: sh स्क्रिप्ट नेम.श. स्क्रिप्ट शेल कमांड प्रमाणेच वागतात.

मी वैयक्तिकरित्या वापरत असलेल्या अध्यापन दृष्टिकोन "शेल स्क्रिप्टिंग जाणून घ्या" प्रत्येक घटक स्वतंत्रपणे कसे कार्य करते आणि ते कसे गुंतते हे आपल्याला समजण्यापर्यंत संपूर्ण कार्यात्मक स्क्रिप्टचे परीक्षण करणे, त्यास विघटित करणे, त्यास वाक्याने वाक्याने, एका ओळीने आज्ञा, आदेशानुसार व्हेरिएबलचे अभ्यास करणे हे खूप व्यावहारिक आणि थेट आहे. कोड जनरल मध्ये. हा प्रकार आहे रिव्हर्स इंजिनियरिंग किंवा सॉफ्टवेअर रीइजिनिंगरिंग. हे सर्व ज्ञान योग्य करण्यासाठी, त्यास सुधारित करा (ऑप्टिमाइझ करा) आणि ते सामायिक करा, एकत्रित फायद्यासाठी आणि विनामूल्य ऑपरेटिंग सिस्टमची उत्तम प्रशासन आणि ऑप्टिमायझेशनसाठी.

जीएनयू / लिनक्स शेलमध्ये हे कसे चालते आणि कार्य करते?

शेलबरोबर काम करण्याची पहिली पायरी म्हणजे शेल चालवणे. जे काही ट्रुझ्मसारखे दिसते त्याचे कारण असण्याचे कारण असते. काही अगदी शेवटच्या वापरकर्त्या-आधारित जीएनयू / लिनक्स वितरणात, शेल अगदी लपलेले असते. थोडक्यात, याला म्हणतात: कॉन्सोल, टर्मिनल, एक्स टर्मिनल किंवा तत्सम काहीतरी. दुसरा पर्याय म्हणजे व्हर्च्युअल कन्सोल वापरणे. वापरत आहे: आपण वापरत असलेल्या जीएनयू / लिनक्स वितरणावर अवलंबून, Ctrl + Alt + f1, किंवा f2, किंवा f3 ते f7 किंवा f8. जीएनयू / लिनक्समध्ये सर्वात जास्त वापरलेला शेल बाश आहे, जरी इतर काही आहेत, जसे की केएसई किंवा सी शेल. माझ्या बाबतीत, माझ्या प्रकाशनांसाठी मी खास बॅश शेल वापरतो.

कॉल केला बाश शेल मध्ये बनविलेले स्क्रिप्ट दिले हॅलो_वल्ड पुढील गोष्टी स्पष्ट केल्या जाऊ शकतात:

सामग्री:

#! / बिन / बॅश
एको हॅलो वर्ल्ड

यंत्रातील बिघाड:

स्क्रिप्टची पहिली ओळ
#! / बिन / बॅश

स्क्रिप्ट चालू असावा असा प्रोग्राम दर्शवितो. जर प्रोग्राम सापडला नाही तर एक त्रुटी येईल.

स्क्रिप्टची दुसरी ओळ
एको हॅलो वर्ल्ड

हॅलो वर्ल्ड वितर्कांसह इको कमांड कार्यान्वित करा, ज्यामुळे ते स्क्रीनवर प्रदर्शित होतील.

अंमलबजावणी: आपण स्क्रिप्ट दोन प्रकारे चालवू शकतो

स्क्रिप्ट चालविण्यासाठी दुभाषेचा माग काढणे:
# बॅश हॅलो_वर्ल्ड.श

हे या प्रमाणे चालवले जाऊ शकते:
# sh हॅलो_वर्ल्ड.श

परंतु आपले अचूक शेल मागविले जात नसल्याने ते अर्धा कार्य करू शकते. तद्वतच, पहिल्या ओळीत शेल म्हणजेच ती कार्यान्वित करण्यासाठी वापरली जाते.

आपण स्क्रिप्ट खालीलप्रमाणे खालीलप्रमाणे चालवू शकता:
# ./hello_world.sh

नोट: ./ वर्तमान निर्देशिकेपासून चालत असल्याचे दर्शवितो.

बाकी जे विश्लेषित केले जाईल ते म्हणजे आपण त्यात कोड घातलेला कोड. मला आशा आहे की नेहमीप्रमाणेच आपल्याला ही आवड (इतरांपेक्षा काही जास्त, शिक्षण आणि ज्ञानाच्या आवश्यकतेनुसार) आवडते शेल स्क्रिप्टिंग.

वेबवर या विषयावर बरेच चांगले दुवे आहेत, परंतु मी तुम्हाला येथे स्थित हा छोटासा मार्गदर्शक सांगतो DesdeLinux.net आणि हे इतर बाह्य मार्गदर्शक.

पुढील पोस्ट पर्यंत!


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.

  1.   d4ny म्हणाले

    Lilo .. लिनक्स लोडर .. बाकी खूप चांगली माहिती .. धन्यवाद .. salu2 d4ny.-

  2.   इं. जोस अल्बर्ट म्हणाले

    "शिका शेल स्क्रिप्टिंग" च्या ऑनलाईन कोर्सचे अनुसरण करीत असलेल्या सर्वांना लवकरच सलाम, आम्ही ज्ञानाचे विनियोग करणे सुरू ठेवण्यासाठी आणि त्या सर्वांचे समाजीकरण सुरू ठेवण्यासाठी अन्य मूलभूत स्क्रिप्ट्ससह पुढे सुरू ठेवू.

    मला आशा आहे की आपण जुळत रहाल कारण लवकरच मी अधिक प्रगत कोडसह प्रारंभ करीन परंतु अशा प्रकारे उघडकीस येईल की जटिलता असूनही दृश्यास्पद आहे.

    लक्षात ठेवा शेल स्क्रिप्टिंगद्वारे आपण बर्‍याच लहान फायली वापरुन क्रॉस-प्लॅटफॉर्म (भिन्न डिस्ट्रोज) असलेल्या अनेक जटिल गोष्टी करू शकता. हा पाठ्यक्रम पहात राहणा those्यांना आणि मी फक्त K० केबीने बरीच आश्वासने दिली आहे अशा गोष्टींसाठी मी लवकरच या गोष्टीचे छोटेसे स्क्रीनकास्ट तुमच्याकडे सोडत आहे! आणि शेल स्क्रिप्टिंगद्वारे जे केले जाऊ शकते त्यातील केवळ अर्धे आहे.

    एलपीआय-एसबी 8 चाचणी स्क्रीनकास्ट (लिनक्स पोस्ट स्थापित करा - स्क्रिप्ट द्विशतक 8.0.0)
    (lpi_sb8_adaptation-audiovisual_2016.sh / 43Kb)

    स्क्रीनकास्ट पहा: https://www.youtube.com/watch?v=cWpVQcbgCyY

    1.    अल्बर्टो कार्डोना म्हणाले

      नमस्कार, तुमचे योगदान अविश्वसनीय आहे, खरोखर तुमचे खूप खूप आभार !!
      मला थोडी शंका आहे, मी बॅशसह कंपाईलर प्रोग्राम करू शकतो?
      किंवा किमान एक शब्दावली विश्लेषक?
      ती शक्ती आहे का?

  3.   इं. जोस अल्बर्ट म्हणाले

    "शिका शेल स्क्रिप्टिंग" च्या ऑनलाईन कोर्सचे अनुसरण करीत असलेल्या सर्वांना सलाम लवकरच आम्ही ज्ञानाचे विनियोग करणे सुरू ठेवण्यासाठी आणि त्या सर्वांचे समाजीकरण करणे सुरू ठेवण्यासाठी अन्य मूलभूत स्क्रिप्ट्ससह सुरू ठेवू. मी आशा करतो की आपण जुळत रहाल कारण लवकरच मी अधिक प्रगत कोडसह प्रारंभ करीन परंतु अशा प्रकारे उघडकीस येईल की जटिलता असूनही दृश्यास्पद आहे.

    लक्षात ठेवा शेल स्क्रिप्टिंगद्वारे आपण बर्‍याच लहान फायली वापरुन क्रॉस-प्लॅटफॉर्म (भिन्न डिस्ट्रोज) असलेल्या अनेक जटिल गोष्टी करू शकता. हा पाठ्यक्रम पहात राहणा those्यांना आणि मी फक्त K० केबीने बरीच आश्वासने दिली आहे अशा गोष्टींसाठी मी लवकरच या गोष्टीचे छोटेसे स्क्रीनकास्ट तुमच्याकडे सोडत आहे! आणि शेल स्क्रिप्टिंगद्वारे जे केले जाऊ शकते त्यातील केवळ अर्धे आहे.

    एलपीआय-एसबी 8 चाचणी स्क्रीनकास्ट (लिनक्स पोस्ट स्थापित करा - स्क्रिप्ट द्विशतक 8.0.0)
    (lpi_sb8_adaptation-audiovisual_2016.sh / 43Kb)

    स्क्रीनकास्ट पहा: https://www.youtube.com/watch?v=cWpVQcbgCyY

  4.   आल्बेर्तो म्हणाले

    नमस्कार जोसे,
    प्रथम आपले ज्ञान सामायिक केल्याबद्दल धन्यवाद. तुमचे लेख खूप रंजक आहेत.

    दोन गोष्टी, माझ्या मते "हॅलो वर्ल्ड" चे डबल कोट्स वापरणे आणि एक्झिट 0 सह आपल्या स्क्रिप्टचे स्वच्छ आउटपुट वापरणे फार महत्वाचे आहे.

  5.   इं. जोस अल्बर्ट म्हणाले

    आपल्या योगदानाबद्दल धन्यवाद, पुढील स्क्रिप्टमध्ये आपल्याला एक्झिट 0, ब्रेक आणि इतरांचा वापर दिसेल!

  6.   विल्लरमांड म्हणाले

    ग्रीटिंग्ज
    खूप मनोरंजक, आपण ते सोपे दिसता; आता मी आले आहे की मी लिनक्समध्ये क्रोनसह किंवा शटडाउन / सस्पेंड / हायबरनेट प्रोग्रॅम करू शकत नाही, परिणामी आरटीसी वेक कमांड वापरुन स्वयंचलितरित्या प्रारंभ करणे, मला माहित नाही की त्या कमांडसह स्क्रिप्ट मदत करेल किंवा ते काहीही न करता क्रोन आणि ट चे अनुसरण करतात, किंवा हे केले जाऊ शकत नाही, किंवा हे दुसर्‍या मार्गाने केले गेले आहे, किंवा मी खूप महत्वाकांक्षी आहे, परंतु विंडोजमध्ये हे करणे हे तुलनेने सोपे आहे. मला लिनक्समध्ये जायचे आहे, परंतु शटडाउन / निलंबित / हायबरनेट शेड्यूल करणे आणि पीसी स्वतः सुरू करणे आवश्यक आहे. साभार.

  7.   इं. जोस अल्बर्ट म्हणाले

    कदाचित हे आपल्याला काही नाविन्यपूर्ण कल्पना देईल: http://cirelramos.blogspot.com/2016/01/reiniciar-apagar-o-ejecutar-otra-tarea.html

  8.   विल्लरमांड म्हणाले

    धन्यवाद, मी त्या पूर्ण वाचून घेईन, काहीतरी मला मदत करेल. साभार.

  9.   एडुआर्डो कुओमो म्हणाले

    काही काळापूर्वी मी एक प्रकल्प सुरू केला जो मला वाटते की तो एक प्रकारचा आहे. हे फ्रेमोओक बॅशचा एक नमुना आहे. यासाठी केवळ सिस्टमवरील बॅशची आवश्यकता आहे.
    दुसर्‍या एखाद्यास स्वारस्य असल्यास, ते प्रयत्न करुन सहकार्य करण्यास आमंत्रित केले आहे!

    https://github.com/reduardo7/bashx

    धन्यवाद!

    1.    सरडे म्हणाले

      प्रिय एडुआर्डो, मला वाटते की हा एक उत्तम प्रकल्प आहे, कदाचित आपण तो संपूर्ण समुदायासह सामायिक करू शकता desdelinux, लक्षात ठेवा की तुम्ही आमच्या वेबसाइटवर तुमच्या प्रकल्पाबद्दल लेख प्रकाशित करू शकता, जर तुम्हाला ते कसे करायचे हे माहित नसेल तर मी वाचण्याची शिफारस करतो. https://blog.desdelinux.net/guia-redactores-editores/ मध्ये लेख तयार करण्यासाठी सर्वोत्तम पद्धती कुठे आहेत desdelinux आणि कार्यपद्धती पार पाडावी. शक्यतो समुदायासाठी तुमच्या प्रकल्पाच्या फायद्यांबद्दल प्रथम जाणून घेणे आणि दुसरे म्हणजे या प्रकारच्या गोष्टी कशा करायच्या हे जाणून घेणे चांगले आहे. आम्ही तुम्हाला आमंत्रित करतो आणि आम्ही इतरांना त्यांचे प्रकल्प आमच्यासह आणि आमच्या सभोवतालच्या मोठ्या समुदायासह सामायिक करण्यासाठी आमंत्रित करतो.

  10.   मिगुएल उरोसा रुईझ म्हणाले

    नमस्कार, शुभ दिवस.
    मी लिनक्स मशीन अ‍ॅडमिनिस्ट्रेशनच्या जगात नवीन आहे आणि आपण त्यासाठी काय शिफारस केली आहे हे मला जाणून घ्यायचे आहेः केएसई, बॅश, पर्ल, पीएचपी, अजगर….
    खूप धन्यवाद आणि शुभेच्छा.
    मिगुएल