ऐश - लिनक्स कमान - यूनिक्स कमान्ड

NAME

श - कमांड इन्टरनेटर ( शेल )

SYNOPSIS

sh [- / + aCefnuvxIqqsVEbc ] [- लामो नाम ] - पासवर्ड [ लक्षित ... ]

वर्णन

Sh प्रणाली को लागि मानक कमांड इन्टरनेटर हो। को हालको संस्करण शेलको लागि POSIX 1003.2 र 1003.2 ए विशिष्टतासँग अनुरूप गर्न परिवर्तन भएको छ। यो संस्करणमा धेरै विशेषताहरू छन् जुन यसले केही सन्दर्भहरूमा कोर्न खोलमा समान देखा पर्दछ, तर यो कोर्न खोल क्लोन होइन (केआर (1) हेर्नुहोस्। केवल POSIX प्लस केहि बर्कले एक्सटेन्सन द्वारा नामित विशेषताहरु, यस शेलमा समावेश गरिएको छ। हामी POSIX अनुशासन आशा गर्दछौं समय 4.4 BSD जारी गरिएको छ। यो मानव पृष्ठको लागि ट्यूटोरियल वा शेलको पूर्ण विवरणको उद्देश्य होइन।

अवलोकन

शेल एक आदेश हो जुन रेखा वा त टर्मिनलबाट रेखाहरू पढ्दछ, तिनीहरूलाई व्याख्या गर्दछ, र साधारणतया अन्य आदेशहरू कार्यान्वयन गर्दछ। यो प्रोग्राम हो जुन प्रयोगकर्तामा प्रणालीमा लगिरहेको बेला चलिरहेको छ (यद्यपि प्रयोगकर्ताले chsh (1) आदेशसँग फरक शेल चयन गर्न सक्दछ। शेलले भाषालाई लागू गर्दछ जसले नियन्त्रण संयन्त्र प्रवाह गरेको छ, एक म्याक्रो सुविधा जसले डाटा स्टोरेजको अलावा विभिन्न विशेषताहरू प्रदान गर्दछ, साथै इतिहास र रेखा सम्पादन क्षमताओंमा निर्मित। यसले अन्तरक्रियात्मक प्रयोगको सहायता गर्न धेरै सुविधाहरू समावेश गर्दछ र लाभ उठाउँछ कि व्याख्यात्मक भाषा दुवै को पारस्परिक र गैर-अन्तरक्रियात्मक प्रयोग (शेल लिपिहरू) को लागि सामान्य छ। यो हो, आदेशहरू सीधा टाइप गर्न चलिरहेको खोलमा गर्न सकिन्छ वा फाईलमा राख्न सकिन्छ र फाइल सीलद्वारा सिधै निष्पादित गर्न सकिन्छ।

निमन्त्रणा

यदि कुनै आर्गनहरू उपस्थित छैनन् र यदि शेलको मानक इनपुट टर्मिनलमा (वा यदि - झण्डा सेट गरिएको छ) जडान गर्दछ, र सी विकल्प उपस्थित छैन, शेल एक अन्तरक्रियात्मक खोल मानिन्छ। एक अन्तरक्रियात्मक खोलले सामान्यतया हरेक कमान्डलाई अघि बढाउँछ र प्रोग्रामिङहरू ह्यान्डल गर्छ र आदेश त्रुटिहरू फरक रूपमा (जस्तै वर्णन गरिएको छ)। जब पहिलो सुरूवात हुन्छ, शेल 0 जवाफ दिन्छन्, र यदि यो ड्यास `- 'सँग सुरु हुन्छ भने शेललाई लगइन शेललाई पनि मानिन्छ। यो सामान्यतया प्रणाली द्वारा स्वचालित रूपमा गरिन्छ जब प्रयोगकर्ता पहिलो लग इन गर्छ। लगइन खोलले पहिले फाइलहरू / etc / profile बाट आदेशहरू पढ्दछ र .प्रोफाइल यदि तिनीहरू अवस्थित हुन्छन्। यदि वातावरण चर ENV प्रविष्टिमा खोलमा सेट गरिएको छ वा लगइन खोलको .profile मा सेट गरिएको छ भने अर्को पछाडि ENV मा नाम फाईलबाट आदेशहरू पढ्दछ त्यसैले, प्रयोगकर्ताले केवल आदेशहरू मात्र कार्यान्वयन गर्न सकिन्छ। ENP फाइल भित्र प्रत्येक शेलका लागि कार्यान्वयन गरिएका प्रोपाइल फाइलमा लगइन समय लगइन गर्नुहोस्। केहि फाईलमा ENV चर सक्षम गर्न, तपाईंको गृह डाइरेक्टरीको प्रोफाइलमा निम्न रेखा राख्नुहोस्

ENV = $ घर / .shinit; ENV निर्यात गर्नुहोस्

को लागि `` .shinit '' कुनै पनि फाइल नाम जसलाई तपाईं चाहानुहुन्छ। चूंकि ENV फाईल, शेल लिपिहरू र नन-अन्तरक्रियात्मक गोलाहरू सहित शेलको प्रत्येक आह्वानका लागि पढ्नका लागि, निम्न paradigm ENV फाइलमा अन्तरक्रियात्मक निमन्त्रणामा आदेशहरू सीमित गर्न उपयोगी छ। `` मामला '' र `` esac 'भित्र आदेशहरू राख्नुहोस् (यी आदेशहरू पछि वर्णन गरिएको छ):

मामला $ - मा * i *)

# अन्तरक्रियात्मक प्रयोगको लागि मात्र आदेश

...

esac

यदि आदेश रेखा तर्कहरू विकल्पहरू बाहेक निर्दिष्ट गरिएको छ भने, शेलले पहिलो तर्कलाई फाइलको नामको रूपमा आदेशहरू (शेल लिपि) पढ्नका लागि व्यवहार गर्दछ, र बाँकी आर्गुमेन्टहरू शेल ($ 1 कोसामान्यमानामिटरकोरूपमासेटगरिएकोछ। , $ 2, आदि)। अन्यथा, शेलले मानक मानकबाट आदेशहरू पढ्दछ।

तर्क सूची प्रसोधन

सबै एक अक्षर विकल्पहरूसँग सम्बन्धित नाम छ जुन - विकल्पमा तर्कको रूपमा प्रयोग गर्न सकिन्छ। सेट - नाम एक अक्षर विकल्प को बगल मा तल दिइएको विवरण मा प्रदान गरिएको छ। ड्यास `` - 'निर्दिष्ट गर्नाले विकल्प खोल्छ, जबकि प्लस `` +' 'प्रयोग गर्दा विकल्प असक्षम गर्दछ। निम्न विकल्पहरू आदेश रेखाबाट सेट वा सेट (1) बनाइएका हुन सक्छ (पछि वर्णन गरिएको)।

-a allexport

सबै चरहरू लाई तोकिएको निर्यात गर्नुहोस्। (4.4alpha को लागि अनुमोदित)

-c

आदेश रेखाबाट आदेश पढ्नुहोस्। मानक आगतबाट कुनै आदेशहरू पढ्ने छैनन्।

-C noclobber

अवस्थित फाईलहरू ``> '' सँग अधिलेखन नगर्नुहोस् (4.4alpha को लागि संयुक्त)

-e errexit

यदि अन्तरक्रियात्मक छैन भने, तुरुन्तै निस्कनुहोस् भने कुनै अनटेस्ट आदेश असफल भयो। आदेश को बाहिर निकलें स्थिति स्पष्ट रूप देखि परीक्षण गरे जान्छ यदि आदेश को नियंत्रित गर्न प्रयोग गरिन्छ यदि एल्फ वा जब सम्म या जब सम्म कमांड बायाँ हात ओपरेन्ड `` && '' या `` || '' 'परिचालक।

-f noglob

मार्गनाम विस्तार असक्षम गर्नुहोस्।

-n noexec

यदि अन्तरक्रियात्मक छैन भने आदेशहरू पढ्नुहोस् तर कार्यान्वयन नगर्नुहोस्। यो शेल स्क्रिप्टहरूको वाक्य जाँचको लागि उपयोगी छ।

-u nounset

चर सेट गर्न प्रयास गर्दा मानक त्रुटिमा एउटा सन्देश लेख्नुहोस्, र यदि शेल अन्तरक्रियात्मक छैन, तुरुन्तै निस्कनुहोस्। (4.4alpha को लागि अनुमोदित)

-v verbose

शेलले यसको इनपुट मानक त्रुटिको रूपमा लेख्छ किनभने यो पढ्न सकिन्छ। डिबगिङको लागि उपयोगी।

-x xtrace

प्रत्येक आदेशलाई मानक त्रुटिमा (लेखिएको 'पहिले + `द्वारा पहिले लेखिएको छ। डिबगिङको लागि उपयोगी।

-q शान्रोफाइल

यदि v - or विकल्पहरू सेट गरिएका छन् भने, प्रारम्भिक फाइलहरू पढ्दा तिनीहरूलाई लागू नगर्नुहोस्, यो / etc / प्रोफाइल .profile र ENV वातावरण चर द्वारा निर्दिष्ट फाइल।

- मैले बेवास्ता गरेँ

जब अन्तरक्रियात्मक रूपमा इनपुटबाट EOF को उपेक्षा गर्नुहोस्।

-i अन्तरक्रियात्मक

शेललाई अन्तरक्रियात्मक व्यवहार गर्न बलियो पार्नुहोस्।

-म मनिटर

कार्य नियन्त्रण खोल्नुहोस् (स्वचालित रूपमा अन्तरक्रियात्मक रूपमा सेट गर्नुहोस्)।

-s stdin

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

-V vi

Built-in vi (1) कमान लाइन सम्पादक सक्षम गर्नुहोस् (असक्षम - यदि सेट गरिएको छ)।

-E emacs

निर्मित ईमेकहरू (1) कमान लाइन सम्पादक सक्षम गर्नुहोस् (असक्षम - V यदि यो सेट गरिएको छ)।

-b सूचित गर्नुहोस्

पृष्ठभूमि कार्य पूराको असीमित सूचना सक्षम गर्नुहोस्। (4.4alpha को लागि अनुमोदित)

लेक्सिकल संरचना

शेलले फाइलबाट रेखाहरूका नियमहरू पढ्दछ र व्हाइटस्पेस (खाली र ट्याब) मा शब्दहरू र बिच्छेदहरूलाई बिच्छेद गर्दछ र क्यारेक्टरका निश्चित दृश्यहरूमा `` अपरेटरहरू '' भनिन्छ विशेष रूपमा त्यहाँ दुई प्रकारका अपरेटरहरू छन्: नियन्त्रकहरू र पुन: निर्देशक अपरेटरहरू (तिनीहरूको अर्थ पछि छलफल गरिन्छ)। निम्नलिखित संचालकहरूको सूची हो:

"अपरेटर नियन्त्रण गर्नुहोस्:"

& (); ;; | ||

"पुन: संचालन परिचालक:"

<>> | << >> <&> र << - <>

उद्धरण गर्दै

उद्धरणलाई शेलमा केहि क्यारेक्टरहरू वा शब्दहरूको विशेष अर्थ हटाउन प्रयोग गरिन्छ, जस्तै अपरेटर, व्हाइटस्पेस वा किबोर्डहरू। त्यहाँ तीन प्रकारको उद्धरण गर्दै छन्: एकल उद्धरणहरू, मिलान गरिएका डबल उद्धरणहरू, र ब्याकस्ल्याश मिलाईयो।

ब्याकस्ल्याश

एक backslash अक्ष न्यूलाइन को अपवाद के साथ निम्नलिखित वर्ण को शाब्दिक अर्थ को संरक्षण गर्दछ। एक एक न्यूलाइन अघि रहेको ब्याकस्ल्याश रेखा निरन्तरताको रूपमा व्यवहार गरिएको छ।

एकल उद्धरण

एकल उद्धरणमा क्यारेक्टरहरू संलग्न सबै वर्णहरूको शाब्दिक अर्थ सुरक्षित गर्दछ (एकल उद्धरणहरू बाहेक, एक एकल उद्धरण स्ट्रिङमा एकल उद्धरण राख्न असम्भव बनाउन)।

डबल उद्धरण

डबल उद्धरणहरू भित्र वर्णहरू अक्षरहरू ($) ब्याकक्वोट (`) र ब्याकस्ल्याश (\) को बाहेक डबल उद्धरणहरूमा ब्याकस्ल्याश ऐतिहासिक रूपमा अजीब छ, र केवल निम्न क्यारेक्टरहरू उद्धरण गर्न को लागी सबै क्यारेक्टरहरूको शाब्दिक अर्थ सुरक्षित गर्दछ:

$ `\ \ newline>

अन्यथा यो शाब्दिक बनी रहन्छ।

सुरक्षित शब्दहरू

सुरक्षित शब्दहरू शब्दहरू छन् जुन शेलको लागि विशेष अर्थ छ र रेखाको सुरुवात र नियन्त्रक अपरेटर पछि पहिचान गरिन्छ। निम्न आरक्षित शब्दहरू छन्:

! Ta elif Ta fi Ta ta ta ta case

and Ta Ta Ta Ta {Ta}

के गर त टा सम्म त यदि टा es es

तिनीहरूको अर्थ पछि छलफल गरिन्छ।

उपनामहरू

एक उपनाम नाम र समान मान उपनाम (1) बनाइएका आदेश प्रयोग गरी सेट गरिएको छ। जब पनि एक आरक्षित शब्द हुन सक्छ (माथि हेर्नुहोस्), र आरक्षित शब्दहरूको लागि जाँच पछि, शेलले शब्दलाई देख्न सकिन्छ कि यो उपनामसँग मेल खान्छ। यदि यसले गर्छ भने, यसले इनपुट स्ट्रीममा यसको मानको साथ प्रतिस्थापन गर्छ। उदाहरणको लागि, यदि उपनाम `` ls -F '' को साथ `` lf 'नाम भनिन्छ भने इनपुट:

LF foobar <फिर्ती>

हुनेछ

ls -F foobar <फिर्ती>

उपनामहरूले न्युज प्रयोगकर्ताहरूका लागि सुविधाजनक तरीका प्रदान गर्दछ जुन बिना आदेशहरू कसरी सिर्जना गर्न सिक्न आदेशहरू को लागि आभारी बनाउन सिर्जना गर्दछ। तिनीहरू लक्सिको अस्पष्ट कोड सिर्जना गर्न पनि प्रयोग गर्न सकिन्छ। यो प्रयोग निरुत्साहित छ।

आदेशहरू

शेल भाषाको अनुसार पढ्ने शब्दहरू व्याख्या गर्दछ, यसका वर्णन यस व्यक्ति पृष्ठको दायरा बाहिर छ ( POSIX 1003.2 कागजातमा BNF लाई हेर्नुहोस्)। अनिवार्य रूपले, एक रेखा पढ्न सकिन्छ र यदि रेखाको पहिलो शब्द (वा नियन्त्रण परिचालक पछि) आरक्षित शब्द होईन भने, त्यसपछि शेलले सरल आदेश पहिचान गरेको छ। अन्यथा, जटिल कमाण्ड वा केही अन्य विशेष निर्माण पहिचान गरिएको हुन सक्छ।

सरल आदेशहरू

यदि एक साधारण आदेश पहिचान गरिएको छ भने, शेल निम्न कार्यहरू गर्दछ:

  1. फारम `` नाम = मान '' को प्रमुख शब्दहरू लुकाइएको छ र सरल आदेशको वातावरणलाई तोकिएको छ। पुनरेखांकन अपरेटर र तिनीहरूको तर्क (तल वर्णन गरिएको छ) लुकाइएको छ र प्रशोधनको लागि बचत गरियो।
  2. बाँकी शब्दहरू `` विस्तार '' भनिन्छ र पहिलो बाँकी शब्द आदेश नाम र आदेश अवस्थित मानिन्छ भन्ने खण्डमा वर्णन गरिएको छ। बाँकी शब्दहरूलाई आदेशको तर्क मानिन्छ। यदि कुनै आदेश नाम नतीजा भएमा, `` name = value '' वस्तुमा पहिचान गरिएको चर कार्यहरू हालको खोललाई असर गर्छ।
  3. अर्को भागमा वर्णन गरिएको रूपमा पुनःनिर्देशनहरू प्रदर्शन गरिन्छ।

पुनःनिर्देशनहरू

कमान्डमा यसको इनपुट पढ्ने वा यसको आउटपुट पठाउँदछ जहाँ परिवर्तन गर्नको लागि पुनःनिर्देशन प्रयोग गरिन्छ। सामान्यमा, पुनःनिर्देशन खुला, बन्द, वा फाइलमा अवस्थित सन्दर्भ डुप्लिकेट। पुनर्निर्देशनका लागि प्रयोग गरिएको समग्र ढाँचा हो:

[n] रातो-सेयर फाइल

जहाँ redir-op पहिले उल्लेख गरिएको पुनरावृत्ति परिचालक मध्ये एक हो। निम्न सम्भावित पुनःनिर्देशनहरूको सूची निम्न। Bq n वैकल्पिक नम्बर हो, जस्तै '3' (`Bq 3 'जुन फाइल वर्णनकर्तालाई बुझाउँछ।

[n]> फाइल

फाइलमा मानक आउटपुट (वा n) पुन: निर्देशित गर्नुहोस्।

[n]> | फाइल

समान, तर सी विकल्प ओभरराइड गर्नुहोस्।

[n] >> फाइल

फाइलमा मानक आउटपुट (वा n) संलग्न गर्नुहोस्।

[n] <फाईल

फाइलबाट मानक इनपुट (वा n) पुन: निर्देशित गर्नुहोस्।

[एन 1] <& n2

डुप्लिकेट मानक इनपुट (वा n1) फाइल वर्णनकार n2 बाट।

[एन] <&

मानक इनपुट बन्द गर्नुहोस् (वा n)।

[n1]> & n2

एन 2 बाट डुप्लिकेट मानक आउटपुट (वा n1)।

[n]> & -

मानक निर्गत बन्द गर्नुहोस् (वा n)।

[n] <> फाइल

मानक इनपुट (वा n) पढ्न र लेख्नका लागि फाईल खोल्नुहोस्।

निम्न पुनःनिर्देशन प्रायः `` यहाँ-दस्तावेज '' भनिन्छ

[n] << डिलिमिटर

यहाँ-डोक-पाठ ...

delimiter

डिलिमिटर सम्म सक्रिय रेखाहरूमा सबै पाठ टाढा छ र मानक इनपुटमा कमांडमा उपलब्ध गराइएको छ, वा फाइल वर्णनकर्ता n यदि निर्दिष्ट गरिएको छ। यदि प्रारम्भिक रेखामा निर्दिष्ट गरिएको डेलिमिटर उद्धृत गरिएको छ भने, यहाँ-डको-पाठ शाब्दिक रूपमा व्यवहार गरिन्छ, अन्यथा पाठ परिमिति विस्तार, आदेश प्रतिस्थापन र अंकग्रेड विस्तारसँग सम्बन्धित छ (जस्तै `` एक्सटेन्सन्समा खण्डमा वर्णन गरिएको छ) 'यदि सञ्चालक `` << -' 'को सट्टा `` <<' 'को सट्टामा यहाँ-डको-पाठमा प्रमुख ट्याबहरू हटाइएका छन्।

खोजी र कार्यान्वयन

त्यहाँ तीन प्रकारका आदेशहरू छन्: शेल कार्यहरू, बनाइएका आदेशहरू, र सामान्य कार्यक्रमहरू - र यो आदेशमा आदेश (नामद्वारा) खोजी गरिएको छ। तिनीहरू प्रत्येक एकै तरिकाले क्रियान्वित हुन्छन्।

जब एउटा शेल प्रकार्य निष्पादित गरिन्छ, सबै खोल स्थिति परिमितिहरू ($ 0 बाहेक, जुन अपरिवर्तित बनी छ) शेल प्रकार्यको तर्कहरूमा सेट गरिएको छ। चर जो स्पष्ट रूपमा आदेश को वातावरण मा राखिएको चर (फंक्शन नाम भन्दा पहिले उनको कार्य असाइन गरेर) प्रकार्यमा स्थानीय बनाइन्छ र मान दिइएको छ। त्यसपछि प्रकार्य परिभाषामा दिइएको आदेश क्रियान्वित गरिएको छ। कमांड पूरा भएपछि मौलिक मापदण्डहरू तिनीहरूको मूल मानहरूमा पुनःस्थापित गरियो। यो सबै हालको खोल भित्र हुन्छ।

शेल कन्स्ट्रिनन्सहरू नयाँ प्रक्रियालाई चिसो बिना, शेलमा इन्टरनेटमा क्रियान्वित गरिन्छ।

अन्यथा, यदि आदेश नामले फंक्शन वा बनाइएका मेल खाँदैन भने, आदेश फाइल प्रणालीमा सामान्य कार्यक्रमको रूपमा खोजी गरिएको छ (जस्तै अर्को भागमा वर्णन गरिएको छ)। जब एक सामान्य कार्यक्रम निष्पादित गरिन्छ, शेलले प्रोग्राम चलाउँछ, तर्क र वातावरणलाई कार्यक्रममा पठाउँछ। यदि कार्यक्रम सामान्य कार्यान्वयनयोग्य फाइल होइन (जस्तै, यदि यो "जादुई संख्या" को साथ शुरू गर्दैन जसको ASCII प्रतिनिधित्व "#!" हो, त्यसो गरेन भने (2) एर ENOEXEC फेरि फर्काउँछ) खोलले कार्यक्रममा सब्ले। बच्चाको खोलले यस अवस्थामा पुनः सुरुवात गर्नेछ, त्यसो गर्दा प्रभाव हुनेछ यदि विज्ञापन-होश शेल लिपिलाई संभाल्न नयाँ शेलमा प्रयोग गरिएको छ, यसबाहेक कि अभिभावक शेलमा अवस्थित धोएका आदेशहरू स्थान द्वारा सम्झना गरिनेछ बच्चा।

ध्यान दिनुहोस् कि यस कागजातको अघिल्लो संस्करणहरू र स्रोत कोड आफैलाई भ्रामक ढंगले र प्रायः रूपमा जाल नम्बर बिना "शेल प्रक्रिया" को रूपमा शेल लिपिलाई उल्लेख गर्नुहोस्।

मार्ग खोजी

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

  1. स्ल्याश समावेश गरिएका आदेश नामहरू केवल कुनै पनि खोजीहरू बिना निष्पादित गरिन्छ।
  2. शेलले प्रत्येक प्रविष्टि PATH मा आदेशको लागि बारीमा खोज्छ। PATH चरको मान कोलोन द्वारा विभाजित एक श्रृंखला को श्रृंखलाहरु हुनु पर्छ। प्रत्येक प्रविष्टि डाइरेक्टरी नामको हुन्छ। हालको डाइरेक्ट्रीले स्पष्ट रूपमा डाइरेक्टरी नामको नाम वा स्पष्ट रूपमा एकल अवधिको रूपमा संकेत गरेको हुन सक्छ।

आदेश बाहिर निस्कनुहोस् स्थिति

प्रत्येक आदेशमा बाहिर निस्कने स्थिति हो जुन अन्य शेल आदेशहरूको व्यवहारलाई असर गर्न सक्छ। प्रतिमान यो हो कि एक आदेश सामान्य वा सफलता को लागि शून्य देखि बाहिर निस्कन्छ, र असफलता को लागि गैर शून्य, त्रुटि या गलत संकेत। प्रत्येक आदेशको लागि मानिसले पृष्ठबाट बाहिर निस्कन विभिन्न कोडहरू र यसको अर्थ के हो। थप रूपमा, निर्मित डिमान्डहरू बाहिर निस्कने कोडहरू फर्काउँछ, किनभने निष्पादित शेल प्रकार्य गर्दछ।

जटिल आदेशहरू

कम्प्लेक्स आदेशहरू सरल अपरेसनहरूको संयोजन नियन्त्रण अपरेटर वा आरक्षित शब्दहरूको साथमा, एक ठूलो जटिल कमांड सिर्जना गर्न। सामान्यतया, एक आदेश निम्न मध्ये एक हो:

अन्यथा भने सम्म, आदेश को बाहिर निकलें स्थिति आदेश द्वारा निष्पादित अन्तिम सरल आदेश को हो।

पाइपलाइनहरू

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

पाइपलाइनको ढाँचा यो हो:

[!] कमांड 1 [| कमांड 2 ...]

आदेश 1 को मानक आउटपुट कमान 2 को मानक इनपुटसँग जोडिएको छ। मानक आगत, मानक आउटपुट, वा एक कमान्ड दुवै को पाइपलाइन द्वारा सङ्कलन गर्न को लागी को लागी पूर्वनिर्धारित ऑपरेटरहरू द्वारा निर्दिष्ट निर्दिष्ट पुनरावृत्ति को आदेश को भाग हो।

यदि पाइपलाइन पृष्ठभूमिमा छैन (पछि छलफल गरियो), खोलले सम्पूर्ण आदेशहरू पूरा गर्न पर्ख्छ।

यदि आरक्षित शब्द हो! पाइपलाइन अघि अघिको छैन, बाहिर निस्कने पाइपलाइनमा निर्दिष्ट अन्तिम आदेशको बाहिर निस्कने स्थिति हो। अन्यथा, बाहिर निस्क्रिय स्थिति अन्तिम आदेश को बाहिर निकलें स्थिति को तार्किक छैन। त्यो हो, यदि अन्तिम कमान शून्य फर्काउँछ भने, बाहिर निस्कने स्थिति 1 हो; यदि अन्तिम आदेश शून्य भन्दा बढि फर्काउँछ भने बाहिर निस्कन शून्य छ।

किनकि पाइप लाइन असाइनमेंट को मानक इनपुट वा मानक आउटपुट वा दोहोरो पुन: वितरण गर्नु अघि, यो पुन: निर्देशन द्वारा परिमार्जन गर्न सकिन्छ। उदाहरणका लागि:

$ कमांड 1 2> र 1 | कमांड 2

मानक आउटपुट र आदेश 1 को मानक 2 को आदेश 2 को मानक इनपुटमा पठाउँदछ।

A; वा टर्मिनेटर क्रमशः निष्पादित गर्न अघिल्लो एन्ड-OR-सूची (अर्को वर्णन गरिएको) को कारण बनाउँछ; एक र अघिल्लो AND-OR-list को अल्पिकृत निष्पादनको कारण बनाउँछ।

ध्यान दिनुहोस् कि केही अन्य गोलाकारहरूको विपरीत, पाइपलाइनमा प्रत्येक प्रक्रिया इन्टरनेट खोलको बच्चा हो (जब यो एउटा शेल बनाइएको होइन, कुन अवस्थामा यो हालको शेलमा कार्यान्वयन हुन्छ - तर कुनै पनि प्रभावमा वातावरणमा सफा गरिएको छ)।

पृष्ठभूमि आदेशहरू -

यदि आदेश ऑपरेटर एम्न्डर्यान्ड (&) द्वारा समाप्त गरिएको छ भने, शेलले अन्ड्रोक्र्रोनसलाई निष्पादित गर्दछ - जुन हो, शेलले अर्को आदेशलाई कार्यान्वयन गर्नु अघि समाप्त गर्न आदेशको लागि पर्खदैन।

पृष्ठभूमिमा एक आदेश चलिरहेको ढाँचा:

आदेश 1 & [कमांड 2 & ...]

यदि शेल अन्तरक्रियात्मक छैन भने, एसिक्र्रोस आदेशको मानक इनपुट / dev / null मा सेट गरिएको छ

सूचीहरू - सामान्यतया बोल्दै

सूची शून्यको अनुक्रम हो वा नयाँलाइनहरू, सेमिनोलहरू, वा एप्सर्सले विभाजित गरिएका धेरै आदेशहरू, र वैकल्पिक रूपमा यी तीन क्यारेक्टरहरूमध्ये एकद्वारा समाप्त हुन्छ। सूचीमा आदेशहरू तिनीहरूलाई लेखिएको क्रममा क्रियान्वित गरिन्छ। यदि आदेश एम्परेर्यान्डको पछि लागिएको छ भने, खोलले आदेश सुरु गर्छ र तुरुन्तै अर्को आदेशमा जान्छ; अन्यथा यो अगली एक अघि बढ्नु अघि बन्द गर्न आदेशको लागि पर्खन्छ।

छोटो सर्किट सूची अपरेटर

`` && '' र `` || '' AND-OR सूची अपरेटरहरू हुन्। `` && '' पहिलो आदेश कार्यान्वयन गर्दछ, र त्यसपछि दोस्रो आदेशको निस्कन स्थिति शून्य हो भने दोस्रो आदेश कार्यान्वयन गर्दछ। `` || '' समान छ, तर दोस्रो आदेश निष्पादित गर्दछ भने यदि पहिलो आदेश को बाहिर निकल स्थिति nonzero छ। `` && '' र `` || '' दुवैको यस्तै प्राथमिकता छ।

प्रवाह नियन्त्रण निर्माण - यदि, हुनका लागि, केस

आदेशको वाक्य रचना यदि हो

यदि सूची
त्यसपछि सूची
[elif सूची
त्यसपछि सूची] ...
[र सूची]
fi

आदेशको वाक्यविच्छेदन हो

जबकि सूची
सूची बनाउनुहोस्
गरे

दुई सूचीहरू बारम्बार निष्पादित गरिन्छ जबकि पहिलो सूचीको बाहिर निस्कने शून्य हो। जबसम्म अर्डर समान छ, तर शब्दको बीचमा नभएसम्म शब्द छ, जुन पहिलो सूचीको बाहिर निस्कन सम्म शून्य दोहोर्याउँछ।

आदेशको वाक्यविहिन हो

शब्दमा चरको लागि ...
सूची बनाउनुहोस्
गरे

शब्दहरू विस्तार गरिएका छन्, र त्यसपछि सूचीले मोडमा बारम्बार प्रत्येक शब्दमा चर सेटको साथ कार्यान्वयन गरिएको छ। गरिन र गरे पछि `` {'' र ``} ''

ब्रेक र जारी आदेशको वाक्य रचना हो

ब्रेक [num]
जारी राख्नुहोस् [num]

तोड्न वा कुखुराको लागि तोड्न भित्तामा समाप्त हुन्छ। भित्री पाशको अर्को पुनरावृत्तिसँग जारी राख्नुहोस्। यी निर्माण गरिएका आदेशहरूको रूपमा कार्यान्वयन गरिएका छन्।

केस आदेशको वाक्य रचना हो

मामला शब्द भित्र
ढाँचा) सूची ;;
...
esac

ढाँचा वास्तवमा एक वा बढी ढाँचा हुन सक्छ (पछि वर्णन गरिएको शैल पैटर्न हेर्नुहोस्), `` 'अक्षरहरू द्वारा विभाजित।

ग्रुपिंग को साथ एक साथ

आदेशहरू पनि लेख्न सकिन्छ

(सूची)

वा

{सूची;

यी मध्ये पहिलो सब्सक्राइममा आदेशहरू कार्यान्वयन गर्दछ। एक (सूची) मा समूहबद्ध निर्मित आदेशहरू हालको खोललाई असर पार्दैन। दोस्रो फारम अर्को शेलको कालो बनाउँदैन त्यसैले केहि थोपा अझ प्रभावकारी हुन्छ। यस तरिका सँग समूहबद्ध आदेशहरूलाई तपाईले आफ्नो उत्पादन पुन: निर्देशित गर्न अनुमति दिईएको भए तापनि तिनीहरू एक कार्यक्रम हो:

{printf hello; printf world \ n ";}> greet

कार्यहरू

प्रकार्य परिभाषाको वाक्य रचना हो

नाम () आदेश

प्रकार्य परिभाषा एक कार्यान्वयन योग्य बयान हो; जब क्रियान्वित गर्दा यो नाम नामक प्रकार्य स्थापना गर्दछ र शून्यको बाहिरको स्थिति फर्काउँछ। आदेश सामान्यतया `` {'' र ``} '' बीचको सूची सूची हो।

एक स्थानीय आदेश प्रयोग गरेर चरमलाई प्रकार्यमा स्थानीय घोषित गर्न सकिन्छ। यो प्रकार्यको पहिलो कथनको रूपमा देखा पर्दछ र सिन्ट्याक्स हो

स्थानीय [चर | -] ...

स्थानीय बनाइएको आदेशको रूपमा कार्यान्वयन गरिएको छ।

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

स्थानीय बनाइएका मात्र पैरामीटर स्थानीय `` - '' बनाइएको `` - '' स्थानीय कुनै पनि खोल विकल्पहरू जुन प्रकार्य भित्रको आदेश आदेश मार्फत फर्काइएको बेलामा वास्तविक मानहरूमा पुन: भण्डारण गरिन्छ।

फिर्ती आदेशको वाक्य रचना हो

फिर्ती [प्रस्थान

यसले वर्तमान कार्यान्वयन प्रकार्यलाई समाप्त गर्दछ। फर्काइएको एक निर्मित आदेशको रूपमा कार्यान्वयन गरिएको छ।

चर र परिमिति

शेलले प्यारामिटरहरूको सेट बनाए राख्छ। नाम द्वारा परिभाषित एक प्यारामिटर एक चर भनिन्छ। जब सुरू हुन्छ, शेलले सबै वातावरण चरहरूलाई शेल चरमा बदल्छ। नयाँ चरहरू फारम प्रयोग गरी सेट गर्न सकिन्छ

नाम = मूल्य

प्रयोगकर्ताद्वारा सेट गरिएका चरहरूसँग एक नाम हुनुपर्छ कि केवल वर्णमाला, संख्यात्मक, र अन्डरस्कोरहरू - जसको पहिलो संख्यात्मक हुनुपर्दैन। एक प्यारामिटर पनि संख्या वा एक विशेष क्यारेक्टर द्वारा तल वर्णन गरिन सक्छ।

सकारात्मक परिमितिहरू

एक परिमिति प्यारामिटर एक नम्बर (एन> 0) द्वारा अस्वीकृत एक प्यारामिटर हो। शेलले यो प्रारम्भमा यसको आदेश लाइन आर्गुमेन्टहरूको मानहरूमा सेट गर्छ जुन शेल लिपिको नाम अनुगमन गर्दछ। सेट (1) बनाइयो पनि सेट गर्न वा रिसेट गर्न प्रयोग गर्न सकिन्छ।

विशेष प्यारामिटरहरू

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

*

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

@

एकबाट सुरु हुने स्थिती परिमितिहरूमा विस्तार गर्दछ। जब विस्तार डबल-उद्धरणहरू भित्र हुन्छ, प्रत्येक स्थिति परिमितिले अलग तर्कको रूपमा विस्तार गर्छ। यदि कुनै वास्तविक मापदण्डहरू छैनन् भने, @ विस्तारको शून्य तर्क उत्पन्न गर्दछ, @ double-quoted जब पनि। उदाहरणका लागि, यो मूलतया अर्थ हो, यदि $ 1 हो `` abc '' र $ 2 `` defhihi '' तब Qq $ @ दुई तर्कहरूलाई विस्तार गर्दछ:

abc defhi

#

वास्तविक परिमितिहरूको संख्यामा विस्तार गर्दछ।

?

सबैभन्दा हालको पाइपलाइनको बाहिर निस्कने स्थिति विस्तार गर्दछ।

- (हाइफन।)

हालको विकल्प फ्ल्यागमा विस्तार गर्दछ (एकल-अक्षर विकल्प नामहरू string मा concatenated) रूपमा आबंटनमा निर्दिष्ट, सेट बनाइएका आदेश, वा श्वेतद्वारा अनुकुल रूपमा।

$

बोलिएको खोलको प्रक्रिया आईडीमा विस्तार गर्दछ। एक सब्लेले यसको आमाबाबुको रूपमा $ को एक नै मान राख्छ।

!

वर्तमान खोलबाट निष्पादित सबैभन्दा हालको पृष्ठभूमि आदेशको प्रक्रिया आइडीमा विस्तार गर्दछ। एक पाइपलाइनको लागि, प्रक्रिया आईडी पाइपलाइनमा अन्तिम आदेशको हो।

0 (शून्य।)

शेल वा शेल स्क्रिप्टको नाम विस्तार गर्दछ।

शब्द एक्सचेंजहरू

यो खण्डले शब्दहरूमा प्रदर्शन गरेको विभिन्न विस्तारहरू वर्णन गर्दछ। सबै विस्तारहरू हरेक शब्दमा प्रदर्शन गरिएको छैन, पछि पछि वर्णन गरियो।

टिल्ड विस्तार, प्यारामिटर विस्तार, आदेश प्रतिस्थापन, गणित विस्तार, र एक शब्द भित्र सम्मिलित हटाउने एकल क्षेत्रमा विस्तार गर्दछ। यो केवल फिल्ड स्प्लिटिङ वा पथ उपनाम विस्तार हो जुन एकल शब्दबाट बहु क्षेत्रहरू सिर्जना गर्न सक्छ। यो नियममा एक अपवाद भनेको डबल पैरामीटर भित्र विशेष प्यारामिटरको विस्तार हो, जस्तै माथि उल्लेख गरिएको थियो।

शब्द विस्तारको क्रम हो:

  1. टिल्ड विस्तार, पैरामीटर विस्तार, कमान प्रतिस्थापन, अंकगणित विस्तार (यो सबै एकै समयमा हुन्छ)।
  2. फील्ड विभाजन चरण (1) द्वारा जेनरेट गरिएको क्षेत्रहरूमा प्रदर्शन गरिएको नभएसम्म आईएफएस चर रिक्त छ।
  3. Pathname विस्तार (सेट सेट नभएसम्म)।
  4. उद्धरण हटाउने।

$ वर्ण परिमिति पैरामीटर विस्तार, आदेश प्रतिस्थापन, वा गणित मूल्यांकन परिचय गर्न प्रयोग गरिन्छ।

टेलिड एक्सटेन्सन (प्रयोगकर्ताको गृह डाइरेक्टरी प्रतिस्थापन गर्दै)

एक प्राप्त नगरिएको टेलिटर क्यारेक्टर (~) सँग सुरुवात शब्द टिल्ड विस्तारको अधीनमा छ। स्ल्याशमा सबै क्यारेक्टरहरू (/) वा शब्दको अन्त्य प्रयोगकर्ता नामको रूपमा मानिन्छ र प्रयोगकर्ताको गृह डाइरेक्टरीसँग प्रतिस्थापित गरिन्छ। यदि प्रयोगकर्तानाम हराइरहेको छ (जस्तै / ~ फूबारमा) Tilde HOME चर (हालको प्रयोगकर्ताको गृह डाइरेक्टरी) को मानको साथ प्रतिस्थापित गरिएको छ।

परिमिति विस्तार

पैरामीटर विस्तारको ढाँचा निम्नानुसार छ:

जहाँ अभिव्यक्ति सबै क्यारेक्टरहरू हुन्छन् जुन मिल्दो ``} '' 'कुनै ``}' 'ब्याकस्ल्याशबाट वा उद्धृत स्ट्रिङमा भागिएको छ, र एडेड गरिएको गणित विस्तार, क्यारेक्टर प्रतिस्थापनहरू र चर विस्तारमा क्यारेक्टरहरू निर्धारण गर्न सकिँदैन। मिल्दो ``} ''

प्यारामिटर विस्तारको लागि सरल रूप हो:

मूल्य, यदि कुनै पनि, प्यारामिटर को प्रतिस्थापन गरिएको छ।

प्यारामिटर नाम वा प्रतीक ब्रेसिजमा संलग्न हुन सक्छ, जुन वैकल्पिक मापदण्डहरूको लागि बाहेक एक भन्दा बढी अङ्कहरू वा जब क्यारेक्टर नामको भागको रुपमा व्याख्या गर्न सकिन्छ क्यारेक्टरको पछि लागिएको हुन्छ। यदि एक प्यारामिटर विस्तार भित्र डबल-उद्धरणहरू भित्र पर्दछ:

  1. विस्तारका परिणामहरूमा पथनाम विस्तार प्रदर्शन गरिएको छैन।
  2. क्षेत्रको विभाजन विस्तारको परिणामहरूमा प्रदर्शन गरिएको छैन, @ अपवादको साथ।

यसको अतिरिक्त, एक प्यारामिटर विस्तार को निम्नलिखित ढाँचा मध्ये एक को उपयोग गरेर परिमार्जन गर्न सकिन्छ।

पूर्वनिर्धारित मानहरू प्रयोग गर्नुहोस्। यदि प्यारामिटर अनसेट वा खाली छ भने, शब्दको विस्तार प्रतिस्थापन गरिएको छ; अन्यथा, प्यारामिटरको मान प्रतिस्थापन गरिएको छ।

पूर्वनिर्धारित मानहरू असाइन गर्नुहोस्। यदि प्यारामिटर अनसेट वा खाली छ भने, शब्दको विस्तार परिमितिमा नियुक्त गरिएको छ। सबै अवस्थामा, प्यारामिटरको अन्तिम मान प्रतिस्थापन गरिएको छ। केवल चरहरू, वास्तविक परिमितिहरू वा विशेष प्यारामिटरहरू मात्र होइन, यस तरिकामा निर्दिष्ट गर्न सकिन्छ।

यदि नल वा सेटअप गर्नुहोस् भने त्रुटि संकेत गर्नुहोस्। यदि प्यारामिटर अनसेट वा रिक्त छ भने, शब्दको विस्तार (वा शब्द हटाउन सकिने सन्देश अनसेट छैन) मानक त्रुटिमा लेखिएको छ र शेल nonzero बाहिरको स्थितिबाट बाहिर निस्कन्छ। अन्यथा, प्यारामिटरको मान प्रतिस्थापन गरिएको छ। एक अन्तरक्रियात्मक खोल आवश्यक छैन।

वैकल्पिक मूल्य प्रयोग गर्नुहोस्। यदि प्यारामिटर अनसेट वा खाली छ भने, रिक्त प्रतिस्थापन गरिएको छ; अन्यथा, शब्दको विस्तार प्रतिस्थापन गरिएको छ।

पहिले देखाइएको प्यारामिटर विस्तारमा, ढाँचामा बृहदान्त्रको प्रयोग नतिजा वा नल छ परिमितिका लागि परीक्षणमा परिणाम; बृहदान्त्रको छोटो पैरामीटरका लागि परीक्षणमा परिणामहरू जुन सेट नगर्नुहोस्।

स्ट्रिंग लम्बाई। प्यारामिटरको मानको लम्बाइमा लम्बाइ।

प्यारामिटर विस्तारको निम्न चार किस्महरू substring प्रकृयाको लागि प्रदान गर्दछ। प्रत्येक मामला मा, नियमित अभिव्यक्ति टिप्पणी को बट्टा पैटर्न मिलान मिलान (शैल पैटर्न देखें), पैटर्न को मूल्यांकन गर्न को लागि प्रयोग गरिन्छ। यदि प्यारामिटर * या @ हो, विस्तारको नतिजा अज्ञात छ। डबल-उद्धरणमा पूर्ण प्यारामिटर विस्तार स्ट्रिङलाई जोड्नका लागि ढाँचाका निम्न चार किस्महरू उद्धृत गर्न सकिदैन, तर ब्रेकस भित्र क्यारेक्टरको उद्धरणले यो प्रभाव पारेको छ।

सानो सफिक्स ढाँचा हटाउनुहोस्। शब्द ढाँचा उत्पादन गर्न विस्तार गरिएको छ। परिमिति विस्तार पछि प्याट्रेसरमा परिणामहरू ढाँचा द्वारा मिल्दो प्रत्ययको सबै भन्दा सानो भाग मेटाइयो।

सबै भन्दा ठूलो प्रत्यय पैटर्न हटाउनुहोस्। शब्द ढाँचा उत्पादन गर्न विस्तार गरिएको छ। परिमिति विस्तार पछि प्याट्राइटरमा परिणामहरू ढाँचा द्वारा मिल्दो प्रत्ययको सबैभन्दा ठूलो भाग मेटिएको छ।

सबै भन्दा कम उपसर्ग पैटर्न हटाउनुहोस्। शब्द ढाँचा उत्पादन गर्न विस्तार गरिएको छ। परिमिति विस्तार पछि प्याफेसरमा नतिजा स्वरूप ढाँचा द्वारा मिल्ने उपसर्गको सबैभन्दा सानो भागसँग।

सबै भन्दा ठूलो उपसर्ग पैटर्न हटाउनुहोस्। शब्द ढाँचा उत्पादन गर्न विस्तार गरिएको छ। परिमिति विस्तार पछि प्याफेरेरमा परिणामहरू ढाँचा मेटाइएको उपसर्गको सबैभन्दा ठूलो भाग मेटाइयो।

आदेश प्रतिस्थापन

आदेश प्रतिस्थापनले आदेशको आउटपुटलाई आदेश नामको स्थानमा प्रतिस्थापित गर्न अनुमति दिन्छ। आदेश प्रतिस्थापन निम्न हुन्छ जब आदेश निम्न रूपमा संलग्न गरिएको छ:

$ (आदेश)

या Po `` backquoted '' संस्करण पीसी:

`कमांड`

शेलले आदेश सब्सट्यान सब्सल वातावरणमा आदेश कार्यान्वयन गरेर आदेशको मानक आउटपुटको साथ आदेश प्रतिस्थापनलाई प्रतिस्थापन गरेर विस्तार गर्दछ, प्रतिस्थापनको अन्त्यमा एक वा बढी s को क्रमहरू हटाउँदै। (आउटपुटको अन्त भन्दा पहिले एम्बेडेड हटाइएन; तथापि, क्षेत्र विभाजनको समयमा, तिनीहरू s मा अनुवाद गर्न सकिन्छ, आईएफएसको मूल्यमा आधारित र उद्धरणमा प्रभाव पार्छ।)

गणित विस्तार

गणित विस्तार एक गणित अभिव्यक्ति को मूल्यांकन र यसको मूल्य बदलन को लागि एक तंत्र प्रदान गर्दछ। गणित विस्तारको लागि ढाँचा निम्नानुसार छ:

$ ((अभिव्यक्ति)

अभिव्यक्ति मानिन्छ जस्तो कि यदि यो डबल-उद्धरणमा थियो, बाहेक अभिव्यक्ति भित्र डबल-उद्धरण विशेष रूपमा व्यवहार गरिएको छैन। पैरामीटर विस्तार, आदेश प्रतिस्थापन र उद्धरण हटाउनका लागि शेलमा सबै टोकनहरू विस्तार गर्दछ।

अर्को, शेल यो एक गणित अभिव्यक्तिको रूपमा व्यवहार गर्दछ र अभिव्यक्तिको मानलाई प्रतिस्थापन गर्दछ।

सेतो स्पेस विभाजन (क्षेत्र विभाजन)

पैरामीटर विस्तार, आदेश प्रतिस्थापन र गणित विस्तार पछि शेलले क्षेत्र विभाजन र बहु ​​क्षेत्रहरूको लागि डबल-उद्धरणहरूमा परिणाम नदिएको विस्तार र प्रतिस्थापनहरूको परिणाम स्क्यान गर्दछ।

शेल आईएमएस को प्रत्येक पात्रता को रूप मा व्यवहार गर्दछ र डिलिमिटर को उपयोग गर्न को लागी पैरामीटर विस्तार र कमांड को विकल्प मा फील्ड मा विभाजित गर्न को उपयोग गर्दछ।

पथनाम विस्तार (फाइल नाम जेनरेट)

जबसम्म फ्रिज झण्डा सेट गरिएको छैन, शब्द विभाजन पूरा भएपछि फाइल नाम पीडित गरिन्छ। प्रत्येक शब्दलाई ढाँचाको श्रृंखलाको रूपमा हेरिएको छ, स्ल्याशहरू द्वारा विभाजित। विस्तारको प्रक्रियाले सबै ढाँचाका नामहरूसँग नाम बदल्छ जसको नामहरू प्रत्येक ढाँचालाई निर्दिष्ट ढाँचासँग मेल खाने स्ट्रिंगमा बदल्न द्वारा नामकरण गर्न सकिन्छ। यसमा दुइटा प्रतिबन्धहरू छन्: पहिलो, एउटा ढाँचाले स्लाश समावेश गर्ने स्ट्रिङसँग मेल खाँदैन, र दोस्रो, एउटा ढाँचा एक अवधिसँग सुरु हुने स्ट्रिङसँग मेल खान सक्दैन जबसम्म ढाँचाको पहिलो वर्ण अवधि हो। अर्को खण्डले Pathname विस्तार र मामला (1) आदेश दुवैका लागि प्रयोग गरिएका ढाँचाहरू वर्णन गर्दछ।

शेल पैटर्न

एउटा ढाँचामा सामान्य क्यारेक्टरहरू हुन्छन्, जुन आफैसँग मेल खान्छ, र मेटा अक्षरहरू। मेटा-क्यारेक्टरहरू ``! '' `` * '' ``? '' र `` ['' यो क्यारेक्टरले उद्धृत गरिएका छन् भने यी क्यारेक्टरहरूले खास अर्थ गुमाउँछन्। जब कमान्ड वा चर प्रतिस्थापन गरिन्छ र डलर चिन्ह वा ब्याक उद्धरणहरू डबल उद्धृत गरिएको छैन, चरको मान वा आदेशको आउटपुट यी क्यारेक्टरहरूको लागि स्क्यान गरिएको छ र तिनीहरू मेटा-क्यारेक्टरहरूमा परिणत हुन्छन्।

अक्षरको कुनै स्ट्रिंगसँग एक ताराङ्कित (`` * '') मेल खान्छ। एक प्रश्न मार्कले कुनै पनि क्यारेक्टरसँग मेल खान्छ। बायाँ कोष्ठक (`` ['') वर्ण क्यारेक्टरको परिचय दिन्छ। क्यारेक्टरको अन्त्यको संकेतले (``] '') द्वारा सूचित गरिएको छ भने ``] 'हराइरहेको छ भने `` [' 'म्याचहरू `` [' 'क्यारेक्टरको परिचय परिचय गर्नुको सट्टा। वर्ग कोष्ठकहरू बीच क्यारेक्टरको कुनै क्यारेक्टरसँग मेल खान्छ। क्यारेक्टरको दायरा माइनस चिन्ह प्रयोग गरी निर्दिष्ट गर्न सकिन्छ। चरित्र वर्ग एक विस्मयादिधक बिन्दु चरित्र वर्गको पहिलो अक्षर बनाएर पूरै सकिन्छ।

एक वर्ण वर्गमा ``] '' समावेश गर्न, यसलाई सूचीबद्ध पहिलो वर्ण बनाउनुहोस् (यदि ``! '' पछि कुनै पनि)। माइनस चिन्ह समावेश गर्न, यसलाई सूचीबद्ध पहिलो वा अन्तिम वर्ण बनाउनुहोस्

निर्माणहरू

यो खण्डले निर्मित आदेशहरू सूचीबद्ध गरेको छ जुन निर्माण गरिएका छन् किनभने तिनीहरू केहि अपरेसनहरू प्रदर्शन गर्न आवश्यक छ जुन अलग प्रक्रियाद्वारा प्रदर्शन गर्न सक्दैन। यीबाहेक, त्यहाँ धेरै अन्य कमाण्डहरू छन् जुन दक्षताको लागि बनाइन्छ (उदाहरणको लागी इकोन 1)।

:

एक रिक्त आदेश 0 (साँचो) बाहिर निकल्नुहोस् मान फर्काउँछ।

फाइल

निर्दिष्ट फाइलको आदेशहरू शेलद्वारा पढ्ने र कार्यान्वयन गरिएका छन्।

उपनाम [ नाम [ = string ... ]]

यदि नाम = स्ट्रिङ निर्दिष्ट गरिएको छ भने, शेलले मान स्ट्रिङसँग उपनाम नाम परिभाषित गर्छ भने सिर्फ नाम निर्दिष्ट गरिएको छ, उपनाम नामको मान प्रिन्ट गरिएको छ। कुनै आर्गुमेन्टको साथ, उपनाम निर्माण गरिएको सबै परिभाषित उपनामहरूको नामहरू र मानहरू ( अनल्याइ हेर्नुहोस् )

bg [ जागिर] ...

पृष्ठभूमिमा निर्दिष्ट कार्यहरू जारी राख्नुहोस् (वा हालको काम यदि कुनै कार्य दिइएको छैन)।

आदेश आदेश आर्ग ...

निर्दिष्ट निर्मित आदेश को कार्यान्वयन गर्नुहोस्। (यो निर्माण उपयोगी छ जब तपाईंसँग निर्माण गरिएको आदेशको रूपमा एक नै नामको साथ शेल प्रकार्य छ।)

सीडी [ निर्देशिका ]

निर्दिष्ट डाइरेक्टरी (पूर्वनिर्धारित $ HOME) मा स्विच गर्नुहोस् यदि CDPATH को लागि प्रविष्टि सीडी कमाण्डमा वा शेल चर CDPATH सेट हुन्छ र डाइरेक्टरी नाम स्लैशको साथ सुरु हुँदैन, त्यसपछि CDPATH मा सूचीबद्ध निर्देशिकाहरू खोजी गरिनेछ। निर्दिष्ट डाइरेक्टरीको लागि। CDPATH को ढाँचा PATH को रूपमा जस्तै हो एक अन्तरक्रियात्मक खोलमा, सीडी आदेशले डाइरेक्टरीको नाम प्रिन्ट गर्नेछ जुन यो वास्तवमा स्विच गरिएको छ भने यो प्रयोगकर्ताले दिएका नामबाट फरक छ भने। यी फरक फरक हुन सक्छ किनभने CDPATH तंत्र प्रयोग गरिएको थियो वा किनभने एक प्रतीक लिङ्क पार गरिएको थियो।

eval string ...

रिक्त स्थानका साथ सबै तर्कहरू जोड्नुहोस्। त्यसपछि आदेश पुन: पार्स गर्नुहोस् र कार्यान्वयन गर्नुहोस्।

निष्पादित [ आदेश आर्ग ... ]

जबसम्म आदेश छोड्नुभएन, शेल प्रक्रिया निर्दिष्ट प्रोग्रामको साथ प्रतिस्थापित गरिएको छ (जुन वास्तविक प्रोग्राम हुनु पर्दछ, शेल निर्माण वा कार्य होइन)। कार्य आदेशमा कुनै पनि पुनःनिर्देशन स्थायी रूपमा चिन्ह लगाइएको छ, ताकि तिनीहरू पूर्वनिर्धारित होइन जब कार्यान्वयन आदेश समाप्त हुन्छ।

बाहिर निस्कनुहोस् [ exitstatus ]

शेल प्रक्रिया समाप्त गर्नुहोस्। यदि बाहिर निस्कन्छ भने यो शेलको बाहिर निस्कने रूपमा प्रयोग गरिन्छ। अन्यथा पूर्वनिर्धारित आदेशको निस्कन स्थिति प्रयोग गरिन्छ।

निर्यात नाम ...

निर्यात -पी

निर्दिष्ट नामहरू निर्यात गरिन्छ ताकि तिनीहरू पछिल्लो आदेशको वातावरणमा देखा पर्नेछ। एक चर अन-निर्यात गर्न को लागी एकमात्र तरीका यसलाई अनसेट गर्न हो। शेलले लेखन द्वारा निर्यात गर्दा एक चर सेटको मानलाई अनुमति दिन्छ

निर्यात नाम = मूल्य

कुनै आर्गुमेन्टसँग निर्यात आदेशले सबै निर्यात चरहरूको नामहरू सूचीबद्ध गर्दछ। पी - विकल्प को निर्दिष्ट संग आउटपुट आउटपुट को रूप मा गैर - इंटरैक्टिव उपयोग को लागि स्वरूपित गरिनेछ।

एफसी [- सम्पादक ] [ पहिलो [ अन्तिम ]]

fc -l [- nr ] [ पहिलो [ अन्तिम ]]

fc -s [ पुराना = नयाँ ] [ पहिले ]

एफसी बनाइएका सूचीहरू, वा सम्पादन र पुन: कार्यान्वयन गर्दछ, पहिले अन्तरक्रियात्मक खोलमा प्रविष्ट गरिएका आदेशहरू।

-इ सम्पादक

आदेशहरू सम्पादन गर्न सम्पादकद्वारा नामक सम्पादक प्रयोग गर्नुहोस्। सम्पादक स्ट्रिंग एक आदेश नाम हो, PATH चर को माध्यम ले खोज गर्न विषय। FCEDIT चरमा भएको मान पूर्वनिर्धारितको रूपमा प्रयोग गरिन्छ जब - निर्दिष्ट गरिएको छैन। यदि FCEDIT रिक्त वा सेट छैन भने, EDITOR चरको मान प्रयोग गरिन्छ। यदि EDITOR रिक्त वा सेट छैन भने, ed (1) सम्पादकको रूपमा प्रयोग गरिन्छ।

-एल (इल)

तिनीहरूलाई सम्पादकको निमन्त्रणा गर्नुको सट्टा आदेशहरू सूची गर्नुहोस्। आदेशहरू पहिलो र अन्तिम अपरेन्डद्वारा संकेत गरिएको अनुक्रममा लेखिएको छ, जुन - द्वारा प्रभावित प्रत्येक आदेश संग आदेश संख्या द्वारा प्रभावित।

-n

-l। सँग सूचीबद्ध गर्दा आदेश संख्याहरू थिच्नुहोस्।

-r

सूचीबद्ध आदेशहरूको क्रम रिवर्स गर्नुहोस् ( - वा सम्पादन गरी (नौं-न नका साथ )

-s

सम्पादकको निमन्त्रणा बिना आदेश पुन: कार्यान्वयन गर्नुहोस्।

पहिलो

अन्तिम

सूची वा सम्पादन गर्न आदेशहरू चयन गर्नुहोस्। अघिल्लो आदेशहरूको संख्या जुन पहुँच गर्न सकिन्छ HISTSIZE चरको मान द्वारा निर्धारण गरिन्छ। पहिलो वा अन्तिम वा दुवैको मान निम्न मध्ये एक हो:

[+] नम्बर

एक अंक नम्बर प्रतिनिधित्व गर्ने एक सकारात्मक संख्या; - आदेश विकल्प - एल विकल्प संग प्रदर्शित गर्न सकिन्छ।

-नम्बर

अर्डरको सङ्ख्या क्रमादेशित प्रतिनिधित्व गर्ने एक दशमलव दशमलव संख्या पहिले। उदाहरणको लागि, -1 तुरुन्त अघिल्लो आदेश हो।

string

एउटा भर्खरै भर्खर प्रविष्ट गरिएको आदेश संकेत गर्दछ जुन त्यो स्ट्रिङसँग सुरु हुन्छ। यदि पुरानो = नयाँ अप््यान्डन्ड पनि निर्दिष्ट गरिएको छैन - पहिलो अपरेण्डनको स्ट्रिङ फारममा सम्मिलित गरिएको साइन हुन सक्दैन।

निम्न वातावरण चरले एफसीको निष्पादनलाई असर गर्दछ:

FCEDIT

प्रयोग गर्न सम्पादकको नाम।

HISTSIZE

अघिल्लो आदेशहरूको संख्या पहुँचयोग्य छ।

fg [ नौकरी ]

निर्दिष्ट कार्य सार्नुहोस् वा वर्तमान काम अग्रभूमिमा सार्नुहोस्।

getopts optstring var

POSIX getopts आदेश, बेल लैब्स संग भ्रमित हुन नपाएको - प्राप्त getopt (1)।

पहिलो आर्गुमेन्ट पत्रको श्रृंखला हुनु पर्छ, जसमध्ये प्रत्येक वैकल्पिक रूपमा एक बृहदान्त्रको पछि लाग्न सक्छ जुन संकेत तर्क चाहिन्छ। निर्दिष्ट निर्दिष्ट पार्स गरिएको विकल्पमा सेट गरिएको छ।

ल्याप्टप आदेशले तीतोपट्टि समावेश तर्कहरूको ह्यान्डल गर्दा पुरानो लोभ (1) उपयोगितालाई घटाउँछ।

ल्यापटपहरू बनाइएका प्रयोगहरूको विकल्पहरू र तिनीहरूको तर्कहरू प्यारामिटरहरूको सूचीबाट प्राप्त गर्न प्रयोग गर्न सकिन्छ। जब बोलाइएको छ, लेप्लोले शेल चरको सूचीमा सूचीको विकल्प स्ट्रिंगबाट अर्को विकल्पको मानलाई स्थान दिन्छ र शेल चरमा रहेको सूचकांक OPTIND जब शेल आविष्कार गरिन्छ, OPTIND मा 1 मा सुरु हुन्छ। एक तर्क, getopts builtin यो खोल चर मा राख्नेछ OPTARG यदि अप्टस्ट्रिंगमा विकल्प को लागि अनुमति छैन भने OPTARG अनसेट हुनेछ।

अप्ट्रिङ पहिचान गरिएको अक्षरहरूको string हो। यदि एक पत्र एक बृहदान्त्र पछ्याइएको छ भने, विकल्पलाई एक तर्क छ जुन व्हाइट स्पेसद्वारा यो बाट अलग हुन सक्छ वा सम्भव हुन सक्छ। यदि एक विकल्प वर्ण फेला परेन जहाँ अपेक्षित हो, प्राप्तकर्ताले चर var सेट गर्नेछ ``? '' Getopts त्यसपछि OPTARG अनसेट र मानक त्रुटिमा आउटपुट लेख्नुहोस्। ओप्टस्ट्रिंगको पहिलो वर्णको रूपमा बृहदान्त्र निर्दिष्ट गरेर सबै त्रुटिहरूलाई बेवास्ता गरिनेछ।

अन्तिम विकल्प पुग्दा एक गैरज़ेरो मूल्य फर्काइयो। यदि कुनै बाँकी तर्कहरू छैनन् भने, ल्याप्टपहरूले विशेष विकल्पमा `` - '' अन्यथा सेट गर्नेछ, यसले var सेट गर्नेछ ``? ''

निम्न कोड टुक्राले देखाउँछ कि कसरी एक निर्णय लिन सक्छ जुन एक [ए] र [बी] र विकल्प [सी] ले तर्क को आवश्यकता हुन सक्छ जुन तर्कको लागि प्रशोधन गर्न सक्छ।

जबकि getopts abc: f
गर
मामला $ f भित्र
a | ख) झण्डा = $ f ;;
ग) Carg = $ OPTARG ;;
\?) $ USAGE गूंज; बाहिर निस्कनुहोस् ;;
esac
गरे
shift `expr $ OPTIND - 1`

यो कोड निम्न को कुनै पनि बराबर को रूप मा स्वीकार गर्नेछ:

cmd -acarg फाइल फाइल
cmd -a -c आर्ग फाइल फाइल
cmd -carg -a फाइल फाइल
cmd -a -carg फाइल फाइल

हैशआरआर आदेश ...

शेलले एक हैश तालिकालाई राख्दछ जसले आदेशहरूको स्थानहरूलाई सम्झाउँछ। कुनै आर्गुमेन्ट कुनै पनि साथ छैन, हैश कमांड प्रिन्टले यो तालिकाको सामग्री बाहिर निकाल्छ। प्रविष्टिहरू जुन अन्तिम सीडी आदेश पछि ताराङ्कनमा चिन्ह लगाइएको छैन देखिएन; यो प्रविष्टिहरूको लागि अमान्य हुन सम्भव छ।

तर्कका साथ, हैश आदेश ह्यास तालिकाबाट निर्दिष्ट आदेशहरू हटाउँदछ (जब तिनीहरू कार्यहरू छैनन्) र त्यसपछि तिनीहरूलाई पत्ता लगाउँदछ। V विकल्पको साथ, हैशले तिनीहरूलाई फेला पार्छ आदेशहरूको स्थान प्रिन्ट गर्छ। - r विकल्पले हैश आदेशले हैश तालिकामा सबै प्रविष्टिहरू मेटाउनका लागि प्रकार्यहरूको बाहेक।

नौकरी [ नौकरी ]

कार्यमा प्रक्रियाहरूको प्रक्रिया आईडी को छाप्नुहोस्। यदि कार्य तर्क छोड्नुभयो भने, हालको काम प्रयोग गरिन्छ।

रोजगारहरू

यो आदेशले सबै पृष्ठभूमि प्रक्रियाहरू सूचीबद्ध गर्दछ जुन वर्तमान शेल प्रक्रियाका बच्चाहरू हुन्।

pwd

हालको डाइरेक्टरी छाप्नुहोस्। बनाइएका आदेशले एउटै नामको कार्यक्रमबाट फरक हुन सक्छ किनभने निर्मित आदेशले प्रत्येक डाइरेक्टरीलाई पुन: प्राप्ति गर्नुको सट्टा हालको डाइरेक्टरी कुन हो भनेर सम्झाउँछ। यसले छिटो बनाउँछ। यद्यपि, यदि हालको डाइरेक्टरी पुन: नामाकरण गरिएको छ, pwd को बनाइएका संस्करण डाइरेक्टरीको लागि पुरानो नाम प्रिन्ट गर्न जारी राख्छ।

[- p संकेत ] [- r ] चर पढ्नुहोस् ...

यदि पी विकल्प निर्दिष्ट गरिएको छ भने तुरुन्त प्रिन्ट गरिन्छ र मानक इनपुट टर्मिनल हो। त्यसपछि एक लाइन मानक इनपुटबाट पढिएको छ। पछाडि नयाँलाइन रेखाबाट मेटिने छ र रेखा माथि विभाजित गरिएको शब्दको खण्डमा वर्णन गरिएको छ, र टुक्राहरू चरको लागि असाइन गरिन्छ। कम से कम एक चर निर्दिष्ट हुनुपर्छ। यदि चर भन्दा बढी टुक्राहरू छन् भने, बाँकी टुक्राहरू ( आईएफएसमा क्यारेक्टरहरूमा भएका क्यारेक्टरहरूसँग) अन्तिम चरमा असाइन गरिएका छन्। यदि टुक्राहरू भन्दा धेरै चरहरू छन् भने, बाँकी चरहरू अशक्त स्ट्रिङ असाइन गरिन्छ। पढाइ निर्मित बनाइनेछ जब EOF इनपुटमा सामना भइरहेको छ, जुन अवस्थामा असफलता फर्काइएको छ।

पूर्वनिर्धारित रूपमा, R - विकल्प निर्दिष्ट गरिएको नभएसम्म, ब्याकस्ल्याश `` \ '' भाग्य क्यारेक्टरको रूपमा कार्य गर्दछ, जसले निम्न क्यारेक्टरलाई सचमुच व्यवहारिक रूपमा प्रयोग गर्न सक्छ। यदि ब्याकस्ल्याश एक नयाँलाइनको पछि लागियो भने, ब्याकस्ल्याश र नयाँलाइन मेटाइने छ।

पढ्ने नाम ...

पढ्ने -पी

निर्दिष्ट नामहरू केवल पढिएको रूपमा चिन्ह लगाइएका छन्, त्यसैले तिनीहरू पछि संशोधन वा अनसेट गर्न सकिँदैन। शेलले चरको मान एकै पटक सेट गरेको छ जुन यसलाई केवल लेखिएको पढिएको रूपमा चिन्ह लगाइएको छ

पढ्ने नाम = मूल्य

कुनै आर्गुमेन्टसँग पढ्नका लागि आदेशले सबै पढ्ने मात्र चरहरूको नामहरू सूचीबद्ध गर्दछ। पी - विकल्प को निर्दिष्ट संग आउटपुट आउटपुट को रूप मा गैर - इंटरैक्टिव उपयोग को लागि स्वरूपित गरिनेछ।

सेट गर्नुहोस् [{ विकल्प | + विकल्पहरू - arg ... ]

सेट आदेश तीन फरक प्रकार्यहरू प्रदर्शन गर्दछ।

कुनै आर्गुमेन्टको साथमा, यो सबै शैल चरको मानहरू सूचीबद्ध गर्दछ।

यदि विकल्पहरू दिइएको छ भने, यो तोकिएको विकल्प झण्डा सेट गर्दछ, वा Sx तर्क सूची प्रशोधन नामको सेक्शनमा वर्णन गरिएको छ।

सेट आदेशको तेस्रो प्रयोगले शेलको वास्तविक परिमितिहरूको निर्दिष्ट निर्दिष्ट तर्कहरूमा सेट गर्न को लागी हो। कुनै पनि विकल्प परिवर्तन नगरी स्थिती परिमितिहरू परिवर्तन गर्न, `` - '' प्रयोग गर्न पहिलो तर्कको रूपमा प्रयोग गर्नुहोस्। यदि कुनै आर्गनहरू उपस्थित छैन भने, सेट आदेशले सबै परिमिति मापदण्डहरू खाली गर्नेछ (`` shift $ # कार्यान्वयनको बराबर। ''

चर मूल्य

चर गर्न मान निर्धारण गर्दछ। (सामान्यमा यो राम्रो हो कि चरवर सेट गर्न को लागी राम्रो गर्न को लागी setvar setvar को उपयोग को उपयोग मा राखन को उद्देश्य हो कि चर को मान निर्दिष्ट गर्दछ जसको नाम प्यारामिटर को रूप मा पारित हुन्छ।)

shift [ n ]

मौलिक मापदण्डहरू n पटक सिफ्ट गर्नुहोस्। $ 1 को मान $ 2 को मानमा $ 2 को मानमा $ 1 को मान सेट गर्दछ र त्यसमा $ , $ # को मूल्य घटाउँदछ। यदि n वास्तविक परिमितिहरूको संख्या भन्दा ठूलो छ भने, पानाले त्रुटि सन्देश जारी गर्नेछ, र फिर्ती स्थिति 2 बाट बाहिर निस्कनेछ।

पटक

शेलको लागि र शेलबाट चल्ने प्रक्रियाहरूको लागि संचित प्रयोगकर्ता र प्रणाली समय प्रिन्ट गर्नुहोस्। फिर्ती स्थिति 0 हो।

जाल क्रिया संकेत ...

जब कुनै निर्दिष्ट निर्दिष्ट संकेत प्राप्त भएमा पार्सलाई पार्स गर्न र कार्यान्वयन गर्न कारवाही गर्नुहोस्। सिग्नल सिग्नल नम्बर द्वारा निर्दिष्ट गरिएको छ। यदि सिग्नल हो भने यदि शेल बाहिर निस्कन्छ भने कार्यान्वयन गरिन्छ। कार्य हुन सक्छ null वा `` - 'पूर्व निर्दिष्ट निर्दिष्ट सिग्नललाई बेवास्ता गर्न को लागी र पछिल्लो कारणले पूर्वनिर्धारित कार्य लिइन्छ। जब शैलले सब्बेललाई फर्काउँछ, यो फ्याक्ड रिसेट गर्दछ (तर उपेक्षित छैन) पूर्वनिर्धारित कार्यमा संकेत गर्दछ। जाल आदेशमा सङ्केतहरूमा कुनै प्रभाव छैन जुन शेलमा प्रविष्टिमा बेवास्ता गरिएको थियो।

टाइप गर्नुहोस् [ नाम ... ]

प्रत्येक नाम आदेशको रूपमा व्याख्या गर्नुहोस् र कमांड खोजीको रिजोल्युशन प्रिन्ट गर्नुहोस्। सम्भावित प्रस्तावहरू हुन्: शेल कीवर्ड, उपनाम, शेल निर्माण , आदेश, ट्रयाक उपनाम र फेला परेन। उपनामका लागि उपनाम विस्तार छ; आदेशका लागि र उपनामहरू ट्र्याक गरिएका नामहरू आदेशको पूरा पथनाम मुद्रित छ।

ulimit [- एच -एस ] [- a -tfdscmlpn [ मूल्य ]]

बारेमा सोध्नुहोस् वा प्रक्रियाहरूमा हार्ड वा नरम सीमा सेट गर्नुहोस् वा नयाँ सीमा सेट गर्नुहोस्। कडा सीमा (जसको कुनै प्रक्रियालाई उल्लङ्घनको लागि अनुमति दिइएको छैन, र जो घटाउन सकिने एकपटक उठाउन सकिँदैन) र नरम सीमा (जसलाई प्रक्रियाहरू लगाइन्छ तर आवश्यक पर्दैन, र जो बढ्न सकिन्छ) को साथ बनाइएको छ। यी झण्डाहरू:

-H

निर्धारित सीमाको बारेमा सेट गर्नुहोस् वा सोध्नुहोस्

-एस

सेट गर्नुहोस् वा नरम सीमाको बारेमा सोध्नुहोस्। यदि न - एच र न - एस निर्दिष्ट गरिएको छ भने, नरम सीमा प्रदर्शित हुन्छ वा दुवै सीमाहरू सेट गरिएका छन्। यदि दुवै निर्दिष्ट गरिएको छ भने, अन्तिममा जित्छ।

इनका झण्डाहरू निर्दिष्ट गरी चयन गरी चयन गरिएको छ:

-a

सबै हालको सीमा देखाउनुहोस्

-t

सीपीयू समय (सी सेकेन्डमा) सीमा देखाउनुहोस् वा सेट गर्नुहोस्

-f

सबै भन्दा ठूलो फाइलमा सीमा देखाउन वा सेट गर्नुहोस् जुन सिर्जना गर्न सकिन्छ (512-बाइट ब्लकहरूमा)

-d

प्रक्रियाको डेटा खण्डको आकारमा सीमा देखाउनुहोस् वा सेट गर्नुहोस् (किलोबाइटमा)

-s

प्रक्रियाको स्ट्याक आकारमा सीमा देखाउनुहोस् वा सेट गर्नुहोस् (किलोबाइटमा)

-c

सबैभन्दा ठूलो कोर डम्प आकारमा सीमा देखाउनुहोस् वा सेट गर्नुहोस् जुन उत्पादन गर्न सकिन्छ (512-बाइट ब्लकहरूमा)

-m

सबै भौतिक मेमोरीमा सीमा देखाउनुहोस् वा सेट गर्नुहोस् जुन प्रक्रिया द्वारा प्रयोग गर्न सकिन्छ (किबोबाइटमा)

-l

देखाउनुहोस् वा सीमा सेट गर्नुहोस् कति मेमोरीले प्रक्रियालाई लक गर्न सक्छ (2) ( किलोबाइटमा )

-p

यस उपयोगकर्ताको एक समय हुन सक्छ प्रक्रियाहरूको संख्यामा सीमा देखाउनुहोस् वा सेट गर्नुहोस्

-n

देखाउनुहोस् वा संख्या फाइलहरूमा सीमा सेट गर्नुहोस् एकै पटकमा प्रक्रिया खुला हुन सक्छ

यदि यी मध्ये कुनै निर्दिष्ट गरिएको छैन भने, यो फाइल आकारमा सीमा देखाइएको छ वा सेट गरिएको छ। यदि निर्दिष्ट निर्दिष्ट गरिएको छ भने, सीमा त्यो नम्बरमा सेट गरिएको छ; अन्यथा वर्तमान सीमा प्रदर्शन गरिएको छ।

एक मनपराय प्रक्रियाको सीमाहरू प्रदर्शन गर्न वा sysctl (8) उपयोगिता प्रयोग गरेर सेट गर्न सकिन्छ।

umask [ मुखौटा ]

Umask को मान सेट गर्नुहोस् (निर्दिष्ट अल्ट्रा मानमा umask (2)) हेर्नुहोस्। यदि तर्क छोड्नुभयो भने, उमको मान छापिएको छ।

अनल्याल [- a ] [ नाम ]

यदि नाम निर्दिष्ट गरिएको छ भने, पेलले त्यो उपनाम हटाउँछ। यदि - निर्दिष्ट गरिएको छ, सबै उपनाम हटाइन्छ।

नाम अनसेट गर्नुहोस् ...

निर्दिष्ट चरहरू र प्रकार्यहरू अनसेट र अनधिकृत छन्। यदि दिइएको नाम दुवै चर र एक प्रकार्यसँग मेल खान्छ भने, चर र प्रकार्य दुवै सेटअप छैन।

प्रतीक्षा [ काम ]

निर्दिष्ट कामको लागि पर्खनुहोस् र अन्तिम प्रक्रियाको बाहिर निस्किने स्थिति फर्काउनुहोस्। यदि तर्क छोड्नुभयो भने, पूरा गर्न सबै कार्यहरूको लागि प्रतीक्षा गर्नुहोस् र शून्यको बाहिर निस्कने स्थिति।

आदेश लाइन सम्पादन

जब sh को एक टर्मिनलबाट अन्तरक्रियात्मक रूपमा प्रयोग गरिरहेको छ, हालको आदेश र कमाण्ड इतिहास (Sx Buildins मा एफसी हेर्नुहोस्) vi-mode कमांड-लाइन सम्पादन प्रयोग गरेर सम्पादन गर्न सकिन्छ। यो मोडले आदेशहरू प्रयोग गर्दछ, तल वर्णित व्यक्तिहरू, पुरुष मानिसको पृष्ठमा वर्णन गरिएका सबटहरूको जस्तो। आदेश `सेट '-o vi vi मोड मोड सक्षम गर्दछ र sh vi vi सम्मिलित मोडमा राख्छ। Vi-mode सक्षम संग, घुस मोड र आदेश मोड बीच स्विच गर्न सकिन्छ। सम्पादक यहाँ पूर्ण वर्णन गरिएको छैन, तर पछिको कागजातमा हुनेछ। यो vi को समान छ: आक ईएसएस टाइप तपाईंलाई तपाईंलाई कमांड VI कमांड मोडमा फेंक दिनेछ। हिट एक फिर्ती मोडमा फर्काउँदा लाइनलाई पेलमा पठाउनुहोस्।

महत्वपूर्ण: तपाईको विशेष कम्प्युटरमा आदेश कसरी प्रयोग गरिन्छ भनेर हेर्नको लागि मानिसको आदेश ( % मानिस ) प्रयोग गर्नुहोस्।