शुरुआती गाइड गाइडहरू बाश - इनपुट मापदण्डहरू

Beginner को दोस्रो भागमा तपाईलाई स्वागत छ गाइड गर्न बाश सीरीज जुन यो अद्वितीय हो कि शुरुआती शुरुआती शुरुआती द्वारा लिखित लेखिएको लिखित पाठ हो।

यस मार्गदर्शकका पाठकहरूले मेरो ज्ञानको निर्माणको रूपमा मैले मेरो ज्ञान निर्माण गर्नेछु र आशा छ कि यसको अन्त सम्म हामी केही निष्पक्ष चालाक लिपिहरू लेख्न सक्नेछौं।

अन्तिम हप्ता मैले तपाईंको पहिलो लिपि सिर्जना गर्दें जसले केवल "नमस्ते संसार" शब्दहरू प्रदर्शन गर्यो। यसले पाठ सम्पादकहरूको रूपमा समाविष्ट गर्दछ, टर्मिनल सञ्झ्याल कसरी खोल्न सकिन्छ, जहाँ तपाइँका लिपिहरू राख्नुहोस्, शब्दहरू "नमस्कार संसार" र केही फाइनल प्वाइन्टहरू जस्ता उद्धरणहरू जस्तै "" "" प्रदर्शन गर्न कसरी प्रदर्शन गर्न सकिन्छ।

यो हप्ता म इनपुट प्यारामिटरहरू कवर गर्न जाँदैछु। त्यहाँ अन्य गाइडहरू छन् जुन यस प्रकारको कुरा सिकाउँछन् तर म उनीहरूलाई केही कम्तीमा कम तहको सामानमा हिँड्छु र सम्भवतः धेरै जानकारी प्रदान गर्दछु।

परिमिति के हो?

"हेलो वर्ल्ड" स्क्रिप्टमा अन्तिम ट्यूटोरियलमा यो सबै धेरै स्थिर थियो। स्क्रिप्टले वास्तवमा धेरै काम गर्दैन।

हामी कसरी "हेलो वर्ल्ड" स्क्रिप्टमा सुधार गर्न सक्दछौं?

एक स्क्रिप्ट को बारे मा बताता छ जो मान्छे को यो चलािन्छ? "हेलो वर्ल्ड" भन्नको सट्टा यो "होलो गेरी", "हेल टिम" वा "होलो डली" भन्नेछ।

इनपुट प्यारामिटरहरू स्वीकार गर्न सक्ने क्षमताले हामीलाई तीन लिपिहरूलाई लेख्न आवश्यक छ "hellogary.sh", "hellotim.sh" र "hellodolly.sh"।

इनपुट मापदण्डहरू पढ्न हाम्रो लिपिलाई अनुमति दिएर हामी कसैलाई नमस्कार गर्न एक स्क्रिप्ट प्रयोग गर्न सक्छौं।

यो टर्मिनल सञ्झ्याल (CTRL + ALT + T) खोल्नका लागि र तल टाइप गरेर तपाईंको लिपि फोल्डरमा नेविगेट गर्नुहोस्: ( सीडी आदेश बारे )

सीडी लिपिहरू

निम्न टाइप गरेर greetme.sh भनिन्छ नयाँ स्क्रिप्ट सिर्जना गर्नुहोस्: ( टच आदेशको बारेमा )

greetme.sh touch

लिपि निम्नमा टाइप गरेर तपाईंको मनपर्ने सम्पादकमा स्क्रिप्ट खोल्नुहोस्: ( नैनो कमांडको बारेमा )

nano greetme.sh

नानो मा निम्न पाठ प्रविष्ट गर्नुहोस्:

#! / bin / bash echo "hello $ @"

फाइल बचत गर्न CTRL र O थिच्नुहोस् र त्यसपछि CTRL र X फाइल बन्द गर्न।

लिपि चलाउन तपाईंको नामको साथमा प्रतिस्थापन आदेश रेखामा निम्न प्रविष्ट गर्नुहोस्।

sh greetme.sh

यदि मैले लिपि मेरो नामको साथ चलाउछ भने यसले "Hello Gary" शब्दहरूलाई प्रदर्शन गर्दछ।

पहिलो रेखा #! / बिन / बाश रेखा हो जुन बाश लिपिको रूपमा फाईल पहिचान गर्न प्रयोग गरिन्छ।

दोस्रो रेखा शब्द हेल गूंज गर्न गूंज बयान प्रयोग गर्दछ र त्यसपछि अजीब $ @ टिप्पणी हो। ( गूंज आदेश बारे )

$ @ लिपि नामको साथमा हरेक प्यारामिटर प्रदर्शन गर्न विस्तार गर्दछ। त्यसैले यदि तपाईंले "greetme.sh tim sh sh" टाइप गर्नुभयो भने "हेलो टाइम" शब्दहरू प्रदर्शित हुनेछन्। यदि तपाईंले "greetme.sh tim sm smith" टाइप गर्नुभयो भने "हेलो टिम स्मिथ" शब्दहरू प्रदर्शित हुनेछन्।

यो नमस्ते नमस्कारको लागि राम्रो हुन सक्छ जुन सिर्फ पहिलो नाम प्रयोग गरेर हेलो भनिन्छ। जब उनीहरूले मलाई भेट्छन्, कसैले कसैलाई "हेलो गैरी न्युल" भन्छन्, यद्यपि उनीहरूले "हेलो गैरी" भन्न सक्छन्।

लिपि परिवर्तन गर्नुहोस् ताकि यसले केवल पहिलो प्यारामिटर प्रयोग गर्दछ। निम्न टाइप गरेर नानोमा greetme.sh लिपि खोल्नुहोस्:

nano greetme.sh

लिपि परिवर्तन गर्नुहोस् ताकि यो निम्नानुसार पढ्छ:

#! / bin / bash echo "hello $ 1"

स्क्रिप्ट बचत गर्नुहोस् CTRL र O थिच्नुहोस् र त्यसपछि CTRL र X थिच्नुहोस् बाट बाहिर निस्कनुहोस्।

तल देखाईएको लिपि चलाउनुहोस् (मेरो नामको साथ मेरो नाम बदल्नुहोस्):

sh greetme.sh gary newell

जब तपाइँ स्क्रिप्ट चलाउनुहुन्छ यसले मात्र "हेलो गैरी" (वा आशापूर्वक "हेलो" भन्नेछ र जुन तपाईंको नाम हो।

$ 1 प्रतीत भएपछि, मूलतया गूंज आदेशमा भनिएको छ, पहिलो प्यारामिटर प्रयोग गर्नुहोस्। यदि तपाइँ $ 2 सँग $ 1 लाई प्रतिस्थापन गर्नुहुन्छ भने यसले "हेलो न्युल" (वा जुन तपाईंको उपनाम हो) प्रदर्शित गर्नेछ।

संयोगमा तपाईँले $ 3 सँग $ 2 प्रतिस्थापन गर्नुभयो र लिपि भाग्यो केवल 2 प्यारामिटरहरू संग निर्गत मात्र "नमस्ते" हुनेछ।

प्रदर्शन गर्न र वास्तवमा प्रविष्टि गरिएको प्यारामिटरहरूको सङ्ख्या सम्भव गर्न सम्भव छ र पछिको ट्यूटोरियलमा मैले देखाउने छ कि प्रमाणिकरण उद्देश्यका लागि प्यारामिटर गणना कसरी प्रयोग गर्ने।

प्रविष्टि गरिएको मापदण्डहरूको संख्या प्रदर्शन गर्न greetme.sh लिपि खोल्नुहोस् र यो निम्न पाठमा संशोधन गर्नुहोस्:

#! / bin / bash echo "तपाईँले $ # नाम प्रविष्ट गर्नुभयो" इकोन "हेलो $ @"

स्क्रिप्ट र CTRL र X बचत गर्न CTRL र O थिच्नुहोस् नैनोबाट बाहिर निस्कन।

$ # दोस्रो रेखामा प्रविष्टि गरिएको प्यारामिटरहरूको संख्या देखाउँदछ।

यसैले अब यो सबै उपन्यास तर धेरै उपयोगी छैन। लिपिको आवश्यकता पर्दछ जसले मात्र "नमस्ते" देखाउँछ?

गूंज बयानका लागि वास्तविक प्रयोग प्रयोगकर्तालाई verbose र सार्थक उत्पादन प्रदान गर्न हो। यदि तपाईं कल्पना गर्न सक्नुहुन्छ कि तपाई केहि जटिल गर्न चाहानुहुन्छ जुन केहि गम्भीर संख्यामा क्रन्चिंग र फाईल / फोल्डर हेरफेर समावेश गर्दछ यो प्रयोगकर्तामा प्रदर्शन गर्न को लागी उपयोगी हुन सक्दछ जुन बाटोको प्रत्येक चरण हुन्छ।

यसको विपरीत, आगत मापदण्डहरू तपाईंको स्क्रिप्ट अन्तरक्रियात्मक बनाउँदछ। आगत प्यारामिटरहरू बिना तपाईंलाई दर्जन लिपिहरू आवश्यक पर्दछ जुन सबै भन्दा धेरै चीजहरू गर्दैछ तर केही फरक नामहरूसँग।

यो सबैमा दिमागमा केहि अन्य उपयोगी इनपुट प्यारामिटरहरू छन् जुन यो राम्रो ज्ञान हो जान्छ र म उनीहरूलाई सबै एक कोड स्निपेटमा समावेश गर्नेछु।

तपाईंको greetme.sh लिपि खोल्नुहोस् र यसलाई निम्नमा संशोधन गर्नुहोस्:

#! / bin / bash echo "फाइलनाम: $ 0" गूंज "प्रक्रिया आईडी: $$" गूंज "---------------------------- --- "गूंज" तपाईँले $ # नाम "ईकोन" हेलो $ @ "प्रविष्ट गर्नुभयो।

फाइल र CTRL र X बाट बाहिर निस्कन CTRL र O थिच्नुहोस्।

अब स्क्रिप्ट चलाउनुहोस् (तपाईंको नामको साथ बदल्नुहोस्)।

sh greetme.sh

यस पटक लिपिले निम्न प्रदर्शन गर्दछ:

फाइलनाम: greetme.sh प्रक्रिया आईडी: 185 995 ------------------------------ तपाईंले 2 नामहरू नमस्ते ग्यारी नोभेल प्रविष्ट गर्नुभयो

स्क्रिप्टको पहिलो रेखामा $ 0 ले लिपि लिपिको नाम प्रदर्शित गर्दछ। ध्यान दिनुहोस् कि यो डलर शून्य हो र डलर छैन।

$$ दोस्रो रेखामा तपाईंको चलिरहेको स्क्रिप्टको प्रक्रिया आइडी प्रदर्शित गर्दछ। यो किन उपयोगी छ? यदि तपाईं स्क्रिप्टलाई अग्रभूमिमा चलाइरहनुभएको छ भने तपाईले यसलाई CTRL र सी थिच्न सक्नुहुन्छ यसलाई यदि तपाइँ स्क्रिप्टमा पृष्ठभूमिमा भाग्यो र त्यसलाई लुपिंग गर्न थाल्यो र त्यस्ता चीजहरू माथि र अधिक गरिरहनु भयो वा तपाइँको प्रणालीमा क्षतिको कारणले तपाइँलाई आवश्यक पर्दछ। यसलाई मार्न।

पृष्ठभूमिमा चलिरहेको लिपिलाई मार्न तपाईंलाई लिपिको प्रक्रिया आईडी चाहिन्छ। यो राम्रो भएन भने लिपिले प्रक्रिया आईडी यसको आउटपुटको भागको रूपमा दिएको छ। ( पीएस र आदेशहरू मार्ने )

अन्तमा मैले यो शीर्षकको साथ समाप्त गर्नु अघि म उत्पादन गर्न चाहन्छु भनेर छलफल गर्न चाहन्छु। प्रत्येक पटक लिपि चलाएको छ जबसम्म स्क्रिनमा आउटपुट प्रदर्शन गरिएको छ।

लिपि उत्पादन आउटपुट फाइलमा लेख्नका लागि यो एकदम साधारण छ। यो गर्न को लागी तपाईंको स्क्रिप्ट निम्नानुसार चलाईन्छ:

sh greetme.sh gary> greetme.log

माथिको आदेशमा> चिन्हले "नमस्ते गैरी" लाई पाठमा नमस्कार गर्दछ।

प्रत्येक पटक तपाईले लिपि चलाउनुहुन्छ> चिन्हको साथ यो आउटपुट फाइलको सामग्री अधिलेखन गर्दछ। यदि तपाइँ फाइलमा संलग्न गर्न चाहानुहुन्छ भने> सँग >> को बदल्नुहोस्।

सारांश

अब तपाई स्क्रिनमा पाठ लेख्न र इनपुट मापदण्डहरू स्वीकार गर्न सक्षम हुनुपर्दछ।