WH WHI-Loops लाई लेख्नुहोस्

आदेश, वाक्य रचना र उदाहरणहरू

तपाइँले तिनीहरूलाई लिपि फाइलमा लेखेर आदेशहरू अनुक्रम गर्न सक्नुहुन्छ र त्यसपछि यसलाई दौड गर्न सक्नुहुन्छ।

लिपिको फाईल सामान्यतया एसएच फाइल एक्सटेन्सन भएको हो, जुन निर्देशनहरूको अनुक्रम समावेश गर्दछ जुन आदेश लाइन ( शेल ) बाट क्रियान्वित गर्न सकिन्छ।

लूप उदाहरणहरू हुँदा

तल पाश समयको एक उदाहरण हो। जब क्रियान्वित हुन्छ, यो स्क्रिप्ट फाइलले 1 देखि 9 सम्म स्क्रिनमा छाप्छ। जबकि-बयान तपाईं for-loop भन्दा छोटो शर्त निर्दिष्ट गर्नका लागि अधिक लचीलापन प्रदान गर्दछ।

#! / bin / bash count = 1 जबकि [$ count -le 9] ग्याँस "$ गणना" नींद 1 ((count ++)) गरियो

उदाहरणका लागि, तपाईं वृद्धि विवरणलाई ओभर गरेर अघिल्लो लिपिलाई अनन्त लूप बनाउन सक्नुहुन्छ "((count ++))":

#! / bin / bash count = 1 जबकि [$ count -le 9] गजल "$ गणना" सोच्नुहोस् 1 सकियो

"निद्रा 1" विवरणले प्रत्येक पुनरावृत्तिमा 1 सेकेण्डको लागि कार्यान्वयन रोक्दछ। प्रक्रिया समाप्त गर्नको लागि Ctrl + C कीबोर्ड सर्टकट प्रयोग गर्नुहोस्।

तपाईं एक अनन्त लूप पनि एक बृहदान्त्र राखेर शर्तको रूपमा सिर्जना गर्न सक्नुहुन्छ:

#! / bin / bash count = 1 जबकि: "गिनती" $ गणना "नींद 1 ((count ++)) गरे

थोप्-लूपमा बहुविध अवस्थाहरू प्रयोग गर्न, तपाइँसँग डबल स्क्वायर कोष्ठक प्रयोग गर्नु पर्छ:

गणना = 1 गरे = 0 जबकि [[$ count -le 9] && [$ done == 0]] "$ count" सोच्नुहोस् 1 ((+ + count) सोच्नुहोस् यदि [$ count == 5]; त्यसपछि $ done = 1 fi गरियो

यस लिपिमा, "सम्पन्न" चर "0" लाई प्रारम्भ गरिएको छ जुन 1 9 0 मा सुरु हुन्छ र लूप हालतमा उल्लेख गर्दछ। लूप हालतले "गणना" लामो समयसम्म जारी रहनेछ जुन "गणना" भन्दा कम छ र "गरेको" बराबर छ शून्यमा। यसैले काउन्टर 5 बराबर हुँदा लूप्स बाहिर निस्कन्छ।

"&&" तार्किक "र" र "||" को अर्थ मतलब तार्किक "वा"।

संयोजनका लागि वैकल्पिक विकल्प "र" र "वा" अवस्थाहरूमा "-ए" र "-o" एकल वर्ग कोष्ठकहरूसँग छ। माथिको अवस्था:

[[$ count -le 9] && [$ सम्पन्न == 0]]

... को रूपमा पुन: लेख्न सकिन्छ:

[$ गणना -le 9] -a [$ सम्पन्न == 0]

पाठ फाईल पढ्न सामान्यतया थोप्लो पाईन्छ। निम्न उदाहरणमा, बाश लिपिले "inventory.txt:" नामक फाइलको रेखा द्वारा सामग्री रेखा पढ्दछ।

FILE = inventory.txt निष्पादन 6

पहिलो रेखाले इनपुट फाईल नाम "FILE" चरमा प्रदान गर्दछ। दोस्रो रेखाले फाइल वर्णनकर्ता "6" मा "मानक इनपुट" बचत गर्छ (यो 3 र 9 बीचको कुनै पनि मान हुन सक्छ)। यो गरेमा स्क्रिप्टको अन्त्यमा वर्णनकर्ता "0" फाइल गर्न "मानक इनपुट" लाई पुनर्स्थापित गर्न सकिन्छ (बयान हेर्नुहोस् "exec 0 तेस्रो रेखामा आगत फाइल निर्दिष्ट वर्ण फाइल" 0, "प्रयोग गरिन्छ। मानक इनपुटको लागि "पढ" बयान प्रत्येक पुनरावृत्तिमा फाईलबाट रेखा पढ्छ र यसलाई "line1" चरमा प्रदान गर्दछ।

क्रमशः केहि समय-पाश बाहिर निस्कनका लागि, तपाईं यस ब्रेक कथन प्रयोग गर्न सक्नुहुन्छ:

गिनती = 1 गरे = 0 जबकि [$ count -le 9] गूंज "$ गणना" नींद 1 ((गिनती + +)) यदि [$ गणना == 5] त्यसपछि तोक्नुहोस् सकियो गूंज समाप्त भयो

ब्रेक बयान लुप हुँदा अन्त्यमा स्केप्स कार्यक्रम निष्पादन र यसको पछि कुनै पनि बयान कार्यान्वयन गर्दछ। यस अवस्थामा, कथन "गूंज समाप्त भयो।"

जारी बयान, अर्कोतिर, हालको रियरले हालको पुनरावृत्तिको पाश स्टेटसन र सिधा पछाडि अगाडी बढेको छ।

गणना = 1 भयो = 0 जबकि [$ count -le 9] सुत्नुहोस् 1 ((गणना ++)) यदि [$ गणना == 5] त्यसपछि जारी राख्नुहोस् "$ गणना" गरियो गूंज समाप्त भयो

यस अवस्थामा, जारी "जारी" बयान निष्पादित गरिन्छ जब चर "गणना" पुग्छ 5। यसपछिको कथन (गूंज "$ गणना") यस पुनरावृत्तिमा कार्यान्वयन गरिएको छैन (जब "गणना" को मूल्य 5 हो)।