राख - लिनक्स कमांड - युनिक्स कमांड

NAME

sh - आदेश इंटरप्रिटर ( शेल )

सुप्रसिद्ध

sh [- / + aCefnuvxIimqsVEbc ] [- o longname ] -विwords [ लक्ष्य ... ]

DESCRIPTION

Sh हा प्रणालीसाठी मानक आदेश इंटरप्रीटर आहे. शची वर्तमान आवृत्ती शेलसाठी POSIX 1003.2 आणि 1003.2 एक वैशिष्ट्य प्रमाणे बदलल्या जाण्याच्या प्रक्रियेत आहे. या आवृत्तीमध्ये बर्याच वैशिष्ट्ये आहेत ज्यात ती कॉर्न शेलसारख्या तत्समच दिसतात, परंतु ती कॉर्न शेल क्लोन नाही (ksh (1) पहा). POSIX आणि काही बर्कले विस्तारांद्वारे नियुक्त केलेल्या केवळ वैशिष्टये या शेलमध्ये समाविष्ट केल्या जात आहेत. आम्ही 4.4 सेकंदांपर्यंत POSIX जुळवणी अपेक्षा करतो. हे मॅन पृष्ठ शेलच्या ट्युटोरियल किंवा संपूर्ण तपशीलवार उद्देशाने नाही.

आढावा

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

आमंत्रण

जर कोणतेही अर्गस उपस्थित नसतील आणि जर शेलचे मानक इनपुट टर्मिनलशी जोडलेले असेल (किंवा जर - i ध्वज सेट केला असेल तर), आणि -c पर्याय अस्तित्वात नसल्यास, शेल संवादात्मक शेल म्हणून गणला जातो. परस्परसंवादी शेल प्रत्येक आदेशापूर्व सहसा विचारतो व प्रोग्रामिंग व आदेश त्रुटींना वेगळ्या हाताळते (खाली वर्णन केल्याप्रमाणे). प्रथम सुरू करताना, शेल आर्ग्युमेंट 0 पाहतो, आणि डॅश ने सुरू होताना `- 'शेलला लॉगिन शेल देखील मानले जाते. हे सहसा सिस्टमद्वारे आपोआप केले जाते जेव्हा वापरकर्ता प्रथम लॉग इन करतो. लॉगिन शेल प्रथम फाइल / etc / profile आणि .profile पासून आज्ञा वाचते. जर पर्यावरण चर ENV शेलसाठी प्रवेशावर सेट केला असेल, किंवा लॉगीन शेल च्या .profile मध्ये सेट असेल तर शेल पुढील ENV मध्ये म्हटल्या जाणार्या फाईलवरून कमांडस् वाचतो. त्यामुळे, वापरकर्त्यांनी आज्ञा पाळल्या पाहिजेत जे फक्त कार्यान्वित होतात .profile फाइलमध्ये लॉग इन वेळ आणि ईएनव्ही फाइलमध्ये असलेल्या प्रत्येक शेलसाठी कार्यरत आज्ञा. काही फाइलमध्ये एएनव्ही व्हेरिएबल सेट करण्यासाठी तुमच्या होम डिरेक्टरीत आपल्या .profile मध्ये खालील ओळ ठेवा

ENV = $ HOME / .shinit; निर्यात ENV

`` .shinit '' साठी आपण वापरत असलेल्या कोणत्याही फाईलचे नाव शेल स्क्रिप्ट आणि नॉन-इंटरैक्टिव शेल्स्सह शेलच्या प्रत्येक आवाहन वाचण्यासाठी ENV फाइल वाचली जात असल्यामुळे, खालील प्रतिमान इंटरफेक्टिव्ह इनव्हॉक्शन्सकरिता ईएनव्ही फाइलमध्ये आदेशांवर मर्यादा घालण्यासाठी उपयुक्त आहे. `` केस '' आणि `` esac '' च्या आत ठेवण्याचे आदेश (या आज्ञा नंतर वर्णन केल्या आहेत):

केस $ - मध्ये * i *)

# आज्ञावली वापरासाठी केवळ आज्ञा

...

इसाक

जर पर्यायांच्या व्यतिरिक्त कमांड लाइन आर्ग्युमेंट्स निश्चित केले गेले असतील तर शेल प्रथम अर्ग्युमेंटला त्या फाइलचे नाव मानतो ज्यातून कमांडस (एक शेल स्क्रिप्ट) वाचता येते, आणि उर्वरित आर्ग्युमेंट्स शेलचे स्थितीय पॅरामीटर्स म्हणून सेट केले जातात ($ 1 , $ 2, इत्यादी). अन्यथा, शेल त्याच्या मानक इनपुट मधून वाचतो.

वितर्क सूची प्रक्रिया

सर्व एकल पक्षात दिलेल्या पर्यायामध्ये संबंधित नाव असते - ज्यायोगे - o पर्यायास तर्क म्हणून वापरले जाऊ शकते. Set -o चे नाव खालील वर्णनात एकल अक्षर पर्यायाच्या पुढे दिले आहे. डॅश निर्दिष्ट करणे `` - '' प्लस `` + '' वापरुन पर्याय बंद केल्यास पर्याय चालू होतो. खालील पर्याय आदेश पंक्तीवर किंवा सेट (1) बिल्टिन (नंतर वर्णित) सह सेट केले जाऊ शकतात.

-ए अललेक्सपोर्ट

नियुक्त केलेले सर्व चलने निर्यात करा (4.4alpha साठी असमर्थित)

-सी

कमांड लाईनवरून कमांड वाचा. मानक इनपुट मधून कोणतीही आज्ञा वाचली जाणार नाही.

-C नॉकलोबर

विद्यमान फाइल्स ``> '' सह () बदलू नका (4.4alpha साठी UNIMPLEMENTED)

-e एररेक्सिट

परस्पररित्या नसल्यास, विना-निर्देशित आदेश अपयशी झाल्यास ताबडतोब बाहेर पडा. आदेशाची बाहेरची स्थिती स्पष्टपणे विचारात घेता येते जर कमांड एलीफला किंवा "` && '' किंवा `` `` ऑपरेटरने डाव्या हाताने किंवा कार्यान्वित असेल तर त्यावर नियंत्रण ठेवण्यासाठी वापरले जाते.

-f नोग्लोब

पथनाव विस्तार अक्षम करा

-n नोएक्सएक

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

-यू नेटस्सेट

सेट न केलेल्या व्हेरिएबलचा विस्तार करण्याचा प्रयत्न करताना आणि शेल परस्परसंवादी नसल्यास मानक त्रुटी संदेश पाठवा, ताबडतोब बाहेर पडा (4.4alpha साठी असमर्थित)

-वी वर्बोस

शेल त्याचे इनपुट मानक त्रुटीमध्ये लिहितो कारण वाचले जाते. डीबगिंगसाठी उपयुक्त

-x एक्सट्रॅस

प्रत्येक आदेश मानक त्रुटी वर लिहा (त्याच्या अंमलबजावणीपूर्वी `+ 'पूर्वी आहे. डीबगिंगसाठी उपयुक्त.

-q शांतप्रोफाइल

जर - v किंवा - x पर्याय सेट केले गेले असतील, तर इनिशिअलाइझेशन फाईल्स वाचताना त्यांना लागू करू नका, हे / etc / profile .profile आणि ENV पर्यावरण वेरियेबल द्वारे निर्देशीत फाइल आहे.

मी दुर्लक्ष करतो

परस्परसंकेत इनपुट पासून EOF च्या दुर्लक्ष करा.

-i परस्पर

शेल परस्पररित्या वागण्याची सक्ती करा.

-एम मॉनिटर

जॉब कंट्रोल चालू करा (परस्परसंवादी असताना स्वयंचलितपणे सेट करा).

-s stdin

मानक इनपुटवरून कमांड वाचा (जर कोणतीही फाइल आर्ग्यूमेंट अस्तित्वात नसतील तर स्वयंचलितपणे सेट करा). शेल आधीच चालू झाल्यानंतर सेट केलेली असताना हा पर्याय परिणाम होत नाही (म्हणजे सेट (1) सह).

-V vi

बिल्ट-इन vi (1) कमांड लाइन एडिटर सक्षम करा (अक्षम केल्यास - हे सेट केले असल्यास E ).

-ए इमाक्स

अंतर्निर्मत emacs (1) आदेश ओळ संपादका सक्षम करा (अक्षम केल्यास - V हे सेट केले असल्यास).

-b सूचित

पार्श्वभूमी जॉब पूर्ण केल्याच्या समकालिक सूचना सक्षम करा. (4.4alpha साठी असमर्थित)

लेक्सिकल स्ट्रक्चर

शेल फाइलमधील ओळीच्या दृष्टीने इनपुट वाचतो आणि तो व्हाटस्पेस (रिकाम्या आणि टॅबवर) शब्दांमध्ये मोडतो आणि `` ऑपरेटर्स '' नावाच्या शेलसाठी विशेष असलेल्या वर्णांच्या विशिष्ट क्रमांवर '' दोन प्रकारचे ऑपरेटर आहेत: नियंत्रण ऑपरेटर आणि पुनर्निर्देशन ऑपरेटर (त्यांचा अर्थ नंतर चर्चा केली आहे). खालील ऑपरेटर यादी आहे:

"नियंत्रण ऑपरेटर:"

&& (); ;; | ||

"रीडायरेक्शन ऑपरेटर:"

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

कोटेशन

शेलला विशिष्ट अक्षरे किंवा शब्दांचे विशेष अर्थ काढणे, जसे की ऑपरेटर, मोकळी जागा किंवा कीवर्ड हटविण्यासाठी वापरला जातो. तीन प्रकारचे उद्धरण: जुळलेल्या सिंगल कोट्स, दुहेरी अवतरण चिन्हे आणि बॅकस्लॅश.

बॅकस्लॅश

एक नवी अक्षरे अपवाद वगळता खालील पार्श्वभुमीच्या शब्दशः अर्थाने एक बॅकस्लॅश संरक्षित आहे. एईपी न्यूलाईनच्या आधीचे एक बॅकस्लॅश ओळ सुरू म्हणून समजले जाते.

सिंगल कोट्स

सिंगल अवतरण चिन्हास वर्तुळाने सर्व वर्णांचा शाब्दिक अर्थ (सिंगल कोट्स वगळता, सिंगल-कोट्स सिंगल-कोटेड स्ट्रिंगमध्ये ठेवणे अशक्य होऊ देऊन) जतन करते.

डबल कोट्स

दुहेरी अवतरण चिन्हास वर्तुळ चिन्हांकित करणे, डॉलरच ($) बॅकक्वॉट (`) आणि बॅकस्लॅश (\) वगळता सर्व वर्णांचा शाब्दिक अर्थ वाचतो. दुहेरी अवतरण चिन्हात बॅकस्लॅश ऐतिहासिकदृष्ट्या विचित्र आहे आणि फक्त खालील वर्ण उद्धृत करते:

$ `\

अन्यथा तो शब्दशः राहील

राखीव शब्द

आरक्षित शब्द असे शब्द आहेत जे शेलसाठी विशेष अर्थ आहेत आणि एका ओळीच्या सुरूवातीला आणि नियंत्रण ऑपरेटरनंतर ओळखले जातात. खालील आरक्षित शब्द आहेत:

! ता. ता. ता. ता

ता . ता. ता . टा. टा.

Ta Ta Ta Ta Ta Ta Ta Ta Ta Ta Ta

त्यांचे अर्थ नंतर नंतर चर्चा केली आहे.

उपाख्य

उपनामा (1) बिल्टिन आज्ञा वापरून एक नाव व संबंधित मूल्य सेट आहे जेव्हा एखादे राखीव शब्द उद्भवतात (वर पहा) आणि आरक्षित शब्दांसाठी तपासल्यानंतर शेल हा शब्द एखाद्या उपनामांशी जुळत असल्यास ते पाहण्यासाठी तपासते. असे असल्यास, तो त्यास त्याच्या मूल्यासह इनपुट प्रवाहात बदली करतो उदाहरणार्थ, मूल्य `` एलएस -एफ '' सह `` एलएफ '' म्हटल्या जाणार्या उपनाम असल्यास इनपुट:

lf foobar

होईल

ls -F foobar

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

आदेश

शेल एका भाषेप्रमाणे वाचलेल्या शब्दांचा अर्थ लावतो, ज्याचे वर्णन या माणसाच्या पृष्ठाच्या बाहेर आहे ( POSIX 1003.2 दस्तऐवजात BNF चा संदर्भ घ्या). मूलत: तरी, एक ओळी वाचली जाते आणि जर रेषाचे पहिले शब्द (किंवा नियंत्रक ऑपरेटर नंतर) राखीव शब्द नसल्यास, शेलने एक साधी आदेश ओळखला आहे. अन्यथा, कॉम्पलेक्स कमांड किंवा काही खास बांधकाम ओळखले जाऊ शकते.

साध्या आदेश

साधा आदेश ओळखला गेला आहे, तर शेल खालील क्रिया करतो:

  1. `` नाव = मूल्य '' फॉर्मच्या प्रमुख शब्द छापल्या जातात आणि सोप्या कमांडच्या पर्यावरणाला नियुक्त केले जातात. पुनर्निर्देशन ऑपरेटर आणि त्यांचे आर्ग्युमेंट्स (खाली वर्णन केल्याप्रमाणे) बंद केले जातात आणि प्रक्रियेसाठी जतन केले जातात.
  2. बाकीचे शब्द `` विस्तार '' या विभागात वर्णन केल्याप्रमाणे विस्तृत केले आहेत आणि पहिले उर्वरीत शब्द आज्ञा नाव मानले जाते आणि आदेश स्थित आहे. उर्वरित शब्दांना आज्ञेचे आर्ग्युमेंट्स समजले जाते. जर कमांडचे नाव न आलेले असेल तर आयटम 1 मध्ये ओळखलेले `` name = value '' वेरियेबल असाइनमेंट सध्याच्या शेलला प्रभावित करेल.
  3. पुढील विभागात वर्णन केल्याप्रमाणे पुनर्निर्देशन केले जातात

पुनर्निर्देशन

रीडायरेक्शनचा वापर त्यातील इनपुट वाचते किंवा त्याचे आउटपुट पाठविते हे बदलण्यासाठी वापरले जातात सर्वसाधारणपणे, पुनर्निर्देशन फाईलमध्ये अस्तित्वात असलेल्या संदर्भ उघडा, बंद करा किंवा डुप्लीकेट करा. पुनर्निर्देशन करण्यासाठी वापरलेला एकूण स्वरूप हा आहे:

[n] redir-op फाइल

जिथे redir-op हे पूर्वी पुनर्निर्देशन ऑपरेटर आहेत त्यापैकी एक आहे. खालील शक्य पुनर्निर्देशनांची सूची आहे. बीसी एन हे एक पर्यायी संख्या आहे, जसे की `3 '(' बीक 3 'नाही जे फाइल डिस्क्रिप्टरला संदर्भ देते.

[n]> फाईल

फाईलमध्ये मानक आउटपुट (किंवा एन) पुनर्निदेशित करा

[एन]> | फाईल

समान, परंतु - C पर्याय ओव्हरराइड करणे.

[एन] >> फाईल

दाखल करण्यासाठी मानक आउटपुट (किंवा n) जोडा

[n] <फाइल

फाइलमधील मानक इनपुट (किंवा एन) पुनर्निदेशित करा

[n1] <& n2

फाइल डिस्क्रिप्टर n2 पासून मानक इनपुट (किंवा n1) डुप्लिकेट.

[एन] <& -

मानक इनपुट बंद करा (किंवा n).

[n1]> & n2

N2 वरून मानक आउटपुट (किंवा n1) डुप्लिकेट करा

[एन]> आणि -

मानक आउटपुट बंद करा (किंवा n).

[n] <> फाईल

मानक इनपुट (किंवा n) वर वाचन आणि लिहाण्यासाठी फाईल उघडा.

खालील रीडायरेक्शनला `` येथे-दस्तऐवज '' म्हटले जाते.

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

येथे दस्तऐवज-मजकूर ...

सीमारेषा

डीलिमिटर पर्यंत सलग रेषा वरील सर्व मजकूर मानक एन्टर, किंवा फाइल डिस्क्रिप्टर n वर उपलब्ध केला जातो आणि जर ते निर्दिष्ट केले असेल. प्रारंभिक ओळीवर निर्दिष्ट केल्याप्रमाणे डिलिमिटर उद्धृत केला असेल तर येथे दस्तऐवज-मजकूर अक्षरशः दिला जातो, अन्यथा मजकूर पॅरामीटर विस्तार, आदेश प्रतिस्थापना आणि अंकगणित विस्ताराच्या अधीन आहे (जसे की `` प्रदर्शनातील विभागात वर्णन केल्याप्रमाणे) ' 'जर ऑपरेटर `` << -' 'ऐवजी `` <<' 'असेल तर येथे डीओसी-टेक्स्ट मधील अग्रगण्य टॅब छळले जातात.

शोध आणि अंमलबजावणी

तीन प्रकारचे आदेश आहेत: शेल फंक्शन्स, बिल्टिन आज्ञा आणि सामान्य प्रोग्राम - आणि त्या क्रमाने (नावानुसार) यासाठी कमांड शोधली जाते. ते प्रत्येक वेगळ्या प्रकारे अंमलात जातात.

जेव्हा शेल फंक्शन कार्यान्वित होते तेव्हा सर्व शेल पॅरॅशल पॅरामीटर्स ($ 0 शिवाय, जो अपरिवर्तनीय राहतो) शेल फंक्शनच्या आर्ग्युमेंट्सवर सेट केल्या जातात. व्हेरिएबल्स जे आज्ञेच्या वातावरणात स्पष्टपणे ठेवले आहेत (फंक्शनचे नाव देण्यापूर्वी त्यांना नियुक्त्या देऊन) फंक्शनला स्थानिक बनतात आणि दिलेल्या मूल्यांवर सेट केले जातात नंतर फंक्शनची व्याख्या देण्यात आलेले आदेश कार्यान्वित केले जाते. आदेश पूर्ण झाल्यावर स्थितीत्मक घटके त्यांच्या मूळ मूल्यांवर पुनर्संचयित केले जातात. हे सर्व वर्तमान शेल आत उद्भवते.

नवीन प्रक्रिया न जुमानता शेल बांधणी शेलला आंतरिक रूपाने अंमलात आणली जातात.

नाहीतर, जर आज्ञा नाव एखाद्या फंक्शनच्या किंवा बिल्टिनशी जुळत नसेल, तर फाईल सिस्टीममध्ये सामान्य प्रोग्राम म्हणून हा आदेश शोधला जातो (पुढील विभागात वर्णन केल्याप्रमाणे). जेव्हा एक सामान्य प्रोग्रॅम कार्यान्वित होतो तेव्हा शेल प्रोग्रॅम चालू करते, प्रोग्रॅमला आर्ग्यूमेंट्स आणि पर्यावरण देते. जर कार्यक्रम सामान्य एक्झिक्युटेबल फाईल नसला (म्हणजे, जर "मॅजिक नंबर" ज्याच्या ASCII चे प्रतिनिधित्त्व "#!" ने सुरू होत नसेल तर, मग execve (2) Er ENOEXEC परत करेल) शेल प्रोग्राममधील सबशेल्ड बालक शेल स्वतः या प्रकरणात पुन्हा सुरू करेल, जेणेकरून तात्पुरती शेल स्क्रिप्ट हाताळण्याकरिता नवीन शेल लागू केले गेले असणार नाही, त्याव्यतिरिक्त पॅरेंट शेलमध्ये स्थित हॅशड कमांड्सचे स्थान लक्षात राहील. मूल

लक्षात घ्या की या दस्तऐवजाच्या मागील आवृत्त्या आणि स्रोत कोड स्वतः दिशाभूल करणारे आणि विरळपणे एक शेल स्क्रिप्टला "मेक नंबर" म्हणून "शेल प्रक्रिया" म्हणून संदर्भित करते.

पथ शोध

आदेश शोधताना, शेल प्रथम त्या नावाने शेल फंक्शन बनतो का ते पाहते. मग त्या नावाची आंतरीक आज्ञा शोधते. एखादी बिल्टिन आज्ञा आढळल्यास, दोन गोष्टींपैकी एक घडते:

  1. स्लॅश असलेली कमांडची नावे फक्त कोणतीही शोध न करताच निष्पादित होतात.
  2. शेल आदेशासाठी PATH मध्ये प्रत्येक एंट्रीमध्ये शोधतो. PATH वेरिएबलचे मूल्य कोलनने विभक्त केलेल्या प्रविष्ट्यांची मालिका असावी. प्रत्येक प्रविष्टीमध्ये निर्देशिकाचे नाव असते. वर्तमान निर्देशिका रिक्त निर्देशिका नावाने, किंवा एका कालावधीद्वारे स्पष्टपणे दर्शविले जाऊ शकते.

कमांड एक्झीट स्टेटस

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

कॉम्प्लेक्स कमांड्स

कॉम्प्लेक्स कमांड म्हणजे कंट्रोल ऑपरेटर किंवा आरक्षित शब्दांसह सोप्या आज्ञा आहेत ज्यामुळे एक मोठा कॉम्प्लेक्स कमांड तयार होते. सामान्यतः खालीलपैकी एक आज्ञा आहे:

अन्यथा नमूद केल्याशिवाय, आदेशाची बाहेरची स्थिती ही त्या कमांडद्वारे अंमलात असलेली शेवटची सोपी कमांडची आहे.

पाईपलाईन

एक पाइपलाइन नियंत्रण ऑपरेटरद्वारे विभाजित केलेल्या एक किंवा अधिक कमांडचा क्रम आहे. सर्व शेवटचे कमांडचे मानक आउटपुट पुढील कमांडच्या मानक इंपुटशी जोडलेले आहे. शेवटच्या आज्ञाचा मानक आउटपुट नेहमीप्रमाणेच, शेल मधून प्राप्त होईल.

एक पाइपलाइन साठी स्वरूप आहे:

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

कमांड 1 चे मानक आउटपुट कमांड 2 च्या मानक इनपुटशी जोडलेले आहे. आदेशचा भाग असलेल्या रीडायरेक्शन ऑपरेटरद्वारे निर्दिष्ट केलेल्या कोणत्याही रीडायरेक्शनपूर्वी मानक इनपुट, स्टँडर्ड आउटपुट किंवा दोन्ही आज्ञा पाइपलाइनद्वारे असाइन केले जाणे मानले जाते.

पाईपलाईन पार्श्वभूमीत नसल्यास (चर्चा केल्या नंतर), शेल पूर्ण करण्यासाठी सर्व आदेशांची प्रतीक्षा करीत आहे.

आरक्षित शब्द तर! पाइपलाइनच्या आधी नाही, निर्गमन स्थिती पाइपलाइनमध्ये निर्दिष्ट अंतिम आदेशाची बाहेरची स्थिती आहे. अन्यथा, बाहेर पडण्याची स्थिती म्हणजे शेवटच्या कमांडच्या बाहेर पडाची स्थिती तार्किक नाही. म्हणजेच, शेवटचा कमांड शून्य परत करेल तर बाहेर पडायचे स्थिती 1 आहे; जर शेवटचा कमांड शून्यापेक्षा अधिक परत आला तर, exit status शून्य आहे.

कारण मानक इनपुट किंवा मानक आउटपुटचे पाईपलाईन असाइनमेंट किंवा दोन्ही पुनर्निर्देशन करण्यापूर्वी जागा घेते, हे पुनर्निर्देशनाने सुधारित केले जाऊ शकते. उदाहरणार्थ:

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

command2 चे मानक इनपुट आणि standard1 कमांड 1 च्या स्टँडर्ड एरर दोन्ही पाठवते.

अ; किंवा टर्मिनेटर क्रमशः अंमलात आणण्यासाठी मागील AND-OR-सूची (पुढील वर्णन केलेले) कारणीभूत आहे; मागील AND-OR-सूचीचे एसिंक्रोनस एक्झिक्यूशन कारणीभूत आहे.

लक्षात ठेवा की काही इतर गोळ्यांप्रमाणे, पाईपलाईनमधील प्रत्येक प्रक्रिया आयनिक शेलचा एक मूल (जोपर्यंत शेल अंगभूत नाही, ज्यात ती सध्याच्या शेलमध्ये कार्यान्वित होते- परंतु वातावरणावरील कोणत्याही प्रभावाचा पुस केला जातो).

पार्श्वभूमी आज्ञा -

जर कमांड कंट्रोल ऑपरेटर अँपरसँड (&) द्वारे संपुष्टात आला तर शेल एसिंक्रोनसमध्ये कमांड कार्यान्वित करतो - म्हणजेच शेल पुढील कमांड कार्यान्वित करण्यापूर्वी कमांड ला समाप्त होण्याची प्रतीक्षा करत नाही.

पार्श्वभूमीत आदेश चालविण्याकरिताचे स्वरूप आहे:

कमांड 1 आणि [कमांड 2 आणि ...]

शेल संवादात्मक नसल्यास, एसिंक्रोनस कमांडचे मानक इनपुट / dev / null वर सेट केले जाते

सूच्या - साधारणपणे बोलणे

यादी ही शून्य किंवा त्यापेक्षा अधिक कमांड्सचा क्रम आहे ज्यात न्यूलाइन्स, सेमिकॉन्स, किंवा अँपरसेन्ड्सने विभक्त केलेले आहेत आणि वैकल्पिकरित्या यापैकी एका तीन वर्णांनी तो निरस्त केला आहे. एका सूचीतील आज्ञा लिहिल्या गेल्यास त्या अंमलात आणल्या जातात. जर आम्पास एक अँपरसँडद्वारे चालवला असेल, तर शेल आदेश सुरू करेल आणि लगेचच पुढील कमांड कडे पुढे जा. अन्यथा पुढील आदेशापूर्वी पुढे जाण्यापूर्वी आदेश समाप्त होण्याची प्रतीक्षा करते.

शॉर्ट-सर्किट लिस्ट ऑपरेटर

`` && '' आणि `` `'' ए आणि-किंवा लिस्ट ऑपरेटर आहेत. `` && '' प्रथम कमांड कार्यान्वित करते, आणि नंतर दुसरा कमांड कार्यान्वित करतेवेळी iff प्रथम कमांडची exit status शून्य असते. `` `'' समान आहे, परंतु दुसरा आज्ञा कार्यान्वित करतेवेळी iff प्रथम कमांडची एक्झिट स्थिती nonzero आहे. `` && '' आणि `` `'' दोन्हीकडे समान प्राधान्य आहे.

फ्लो-कंट्रोरेक्शन कन्स्ट्रक्शन - जर, केस, तर, साठी

If कमांडची मांडणी आहे

सूची असल्यास
नंतर यादी
[एलिफ यादी
नंतर यादी करा] ...
[दुसरी यादी]
फाई

तर कमांडचा सिंटॅक्स हा आहे

यादी करताना
यादी करा
केले

दोन सूची वारंवार कार्यान्वित केली जातात, जेव्हा पहिल्या यादीची निर्गमन स्थिती शून्य असते. पर्यंत आदेश समान आहे, परंतु शब्दाच्या ऐवजी पर्यंत शब्द आहे, जो त्यास पुनरावृत्ती करेल कारण जोपर्यंत प्रथम सूचीच्या बाहेर पडण्याची स्थिती शून्य असते.

यासाठी कमांड म्हणजे सिंटॅक्स

शब्दात वेरियेबल साठी ...
यादी करा
केले

शब्द विस्तृत केले जातात, आणि नंतर वारंवारितेच्या प्रत्येक शब्दास यादीतील वारंवार बदलले जाते. करा आणि पूर्ण केल्याने `` {{'' आणि ``} '' ने बदलले जाऊ शकते.

ब्रेकचा सिंटॅक्स आणि चालू आदेश हे आहे

खंड [क्रमांक]
[क्रमांक] सुरू ठेवा

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

केस कमांडचा सिंटॅक्स असा आहे

प्रकरणात शब्द
नमुना) यादी ;;
...
इसाक

नमुना एक किंवा अधिक नमुन्यांची असू शकतात (शेल पॅटर्नर्स नंतर वर्णन केले आहेत), `` '' वर्णांद्वारे विभाजित केले आहेत.

समूहिंग कमांड एकत्र

कमांडस एकतर लेखन करून गटबद्ध केले जाऊ शकतात

(यादी)

किंवा

{यादी;

यापैकी पहिला म्हणजे subshell मधील कमांडस कार्यान्वित करते. अंतर्भूत केलेल्या आज्ञा (सूची) मध्ये गटात समाविष्ट केल्याने सध्याच्या शेलवर त्याचा प्रभाव पडणार नाही. दुसरा फॉर्म दुसर्या शेलला काटावत नाही त्यामुळे ते अधिक कार्यक्षम आहे. समूहिंग आज्ञा एकत्र केल्याने त्यांचे आउटपुट त्यांना एक प्रोग्रॅम म्हणून पुनर्निर्देशित करण्याची परवानगी मिळते:

{printf हॅलो; प्रिंटफ वर्ल्ड \ n ";}> शुभेच्छा

कार्ये

फंक्शनची व्याख्या वाक्यरचना आहे

name () आदेश

फंक्शनची व्याख्या एक्झिक्युटेबल स्टेटमेंट आहे; कार्यान्वित केल्यावर नावाचे फंक्शन स्थापित केले जाईल आणि शून्याच्या बाहेर पडण्याची स्थिती परत करेल. ही आज्ञा साधारणपणे `` {{'' आणि ``} '' च्या दरम्यान संलग्न आहे

स्थानिक कमांडचा वापर करून व्हेरिएबल्स फंक्शनला स्थानिक म्हणून घोषित केले जाऊ शकतात. हे एखाद्या फंक्शनचे प्रथम विधान म्हणून दिसावे, आणि वाक्यरचना आहे

लोकल [व्हेरिएबल | -] ...

स्थानिक एक अंगभूत आदेश म्हणून लागू केले आहे.

जेव्हा एक वेरियेबल स्थानिक बनवला जातो, तेव्हा त्याला प्रारंभिक मूल्य वारसाहक्काने मिळते आणि त्यापैकी एक असलेल्या व्हेरिएबलच्या आसपासच्या क्षेत्रामध्ये त्याच नावाची निर्यात केली जाते. अन्यथा, व्हेरिएबल सुरुवातीला सेट केलेले नसते. शेल डायनॅमिक स्कॉपींगचा वापर करतो, म्हणजे जर आपण व्हेरिएबल x ला कार्य करण्यास फंक्शनल बनवले तर जी फंक्शन जी कॉल करेल, जी आत तयार केलेल्या वेरिएबल x चे संदर्भ असतील त्या व्हेरिएबल x मध्ये घोषित केले जाईल, ग्लोबल व्हेरिएबलचे नाव x नाही. .

स्थानिक बनवता येण्यापेक्षा एकमेव विशिष्ट पॅरामीटर आहे `` - '' कोणतेही शेल पर्याय जे त्या फंक्शनमध्ये सेट कमांडच्या माध्यमाने बदलले जातात तेव्हा फंक्शन रिटर्नमध्ये त्यांच्या मूळ मूल्यांवर पुनर्संचयित करणे.

परतीचे आदेश सिंटॅक्स आहे

परत [exitstatus

हे सध्या कार्यरत कार्य संपुष्टात आणते. रिटर्न म्हणजे बिल्टिन कमांड म्हणून लागू केले आहे.

वेरिएबल्स आणि पॅरामीटर्स

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

नाव = मूल्य

वापरकर्त्याद्वारे सेट केलेल्या व्हेरिएबल्सचे नाव अल्फाबेटीक्स, संख्याशास्त्र आणि अंडरस्कोर यापैकी एक असणे आवश्यक आहे - ज्यापैकी प्रथम संख्यात्मक नसावे. खाली नमूद केल्याप्रमाणे एका संख्येस किंवा विशेष वर्णाने एक पॅरामीटर देखील सूचित केले जाऊ शकते.

स्थिती परिमाणे

स्थितीत्मक मापदंड एक पॅरामीटर आहे जो एखाद्या संख्येस (n> 0) दर्शवतो. शेल सुरुवातीला हे त्याच्या कमांड लाइन अर्ग्युमेंट्सच्या व्हॅल्यूज सेट करते जे शेल स्क्रिप्टच्या नावाचे आहे. सेट (1) बिल्टिन देखील सेट किंवा रीसेट करण्यासाठी वापरले जाऊ शकते.

विशेष परिमाणे

विशेष पॅरामीटर हा खालील विशिष्ट वर्णांपैकी एकाद्वारे दर्शवलेले मापदंड आहे. पॅरामीटरचे मूल्य त्याच्या वर्णपुढील सूचीत आहे

*

एक पासून सुरू, स्थितीत्मक घटके वाढवा. जेव्हा विस्तार डबल-कोटेड स्ट्रिंगच्या आत येतो तेव्हा तो एका फील्डमध्ये वाढतो ज्यामध्ये IFS व्हेरिएबलच्या पहिल्या वर्गाद्वारे विभाजीत प्रत्येक पॅरामीटरच्या मूल्याने किंवा जर IFS सेट न होता असेल तर

@

एक पासून सुरू, स्थितीत्मक घटके वाढवा. जेव्हा विस्तार डबल अवतरण चिन्हात होतो तेव्हा प्रत्येक पॅरॅशल पॅरामीटर वेगळे तर्क म्हणून विस्तृत होते. एकही स्थिर पॅरामीटर्स नसल्यास, @ च्या विस्तारास शून्य वितर्क व्युत्पन्न होतात, जरी @ दुहेरी उद्धृत झाल्यास उदाहरणार्थ $ 1 म्हणजे `एबीसी 'आणि $ 2 म्हणजे` `डी डीफ घी' 'म्हणजे मूलत: याचा अर्थ काय आहे, तर मग दोन आर्ग्युमेंट्स वाढतात:

एबीसी डेफ देख

#

स्थितीय पॅरामिटर्सच्या संख्येपर्यंत विस्तृत करा

?

सर्वात अलीकडील पाइपलाइनची निर्गमन स्थिती विस्तृत करते

- (हायफन.)

चालू पर्याय ध्वजांकरीता (एकल-अक्षर पर्याय नाव स्ट्रिंगमध्ये एकत्रित केले गेले आहे) निर्दिष्ट केल्यानुसार, सेट बिल्डिन कमांडद्वारे, किंवा शेलद्वारे निहित केले आहे.

$

लागू केलेल्या शेलच्या प्रक्रिया ID मध्ये विस्तृत करा. एक सबशेल्ड त्याच्या मूळ म्हणून $ चे समान मूल्य राखून ठेवते.

!

वर्तमान शेलद्वारे निष्पादित सर्वात अलिकडील पार्श्वभूमी आज्ञेच्या प्रक्रिया ID चा विस्तार करा. पाइपलाइनसाठी, प्रक्रिया आयडी पाईपलाईनमध्ये शेवटची आज्ञा आहे.

0 (शून्य)

शेल किंवा शेल स्क्रिप्टचे नाव विस्तृत करा

शब्द विस्तार

या कलमामध्ये शब्दांवर केलेल्या विविध विस्तारांचे वर्णन केले आहे. सर्व विस्तार प्रत्येक शब्दावर केले जात नाहीत, जसे नंतर स्पष्ट केले आहे.

Tilde विस्तार, पॅरामीटर विस्तार, आदेश प्रतिस्थापना, अंकगणित विस्तार आणि एक शब्द आत विस्तार होणारी एक एक क्षेत्र वाढविण्यासाठी कोट काढून टाकणे. हे केवळ फील्ड विभाजन किंवा पाथनाव विस्तार आहे जे एका शब्दावरून एकाधिक फील्ड तयार करू शकते. या नियमामध्ये एकच अपवाद म्हणजे वरील पॅरामीटर @ डबल-कोट्समध्ये विस्तार आहे, जसे वर वर्णन केले आहे.

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

  1. टिल्ड विस्तार, पॅरामीटर विस्तार, कमांड प्रतिस्थापन, अंकगणित विस्तार (हे सर्व एकाच वेळी होतात).
  2. IFS व्हेरिएबल नल असेल त्यापर्यत स्टेप (1) द्वारे व्युत्पन्न केलेल्या फील्डवर फिल्ड स्प्लिटिंग केली जाते.
  3. पाथनाव विस्तार (जोपर्यंत - सेट नाही तो प्रभाव आहे).
  4. कोट काढणे

$ वर्ण पॅरामीटर विस्तार, आदेश प्रतिस्थापक किंवा अंकगणित मूल्यांकनास सादर करण्यासाठी वापरला जातो.

टिल्ड विस्तार (वापरकर्त्याची होम डिरेक्टरी बदलणे)

न जोडलेले टिल्ड वर्ण (~) सह सुरू होणारे शब्द टिल्ड विस्ताराच्या अधीन आहे. सर्व अक्षरे स्लॅश (/) पर्यंत किंवा शब्दाच्या समाप्तीस वापरकर्तानाव मानले जातात आणि वापरकर्त्याच्या होम डाइरेक्टरीने बदलले जातात. जर वापरकर्तानाव गहाळ आहे (~ / foobar प्रमाणे) असल्यास टिल्डची बदल HOME वेरियेबल (सध्याच्या वापरकर्त्याची होम डिरेक्ट्री) च्या मूल्यासह केली जाते.

पॅरामीटर विस्तार

पॅरामीटर विस्ताराचे स्वरूप खालीलप्रमाणे आहे:

जिथे अभिव्यक्तिमध्ये सर्व वर्णांचा समावेश असतो तेथे जुळणारे ``} '' कोणतेही ``} '' एखाद्या बॅकस्लॅश किंवा उद्धृत केलेल्या स्ट्रिंगमध्ये आणि अॅम्बेडेड अंकगणित विस्तार, आदेश प्रतिस्थापणे आणि व्हेरिएबल एक्सपॅशनमधील वर्णांची चाचणी घेण्यात येत नाही. जुळणारे ``} ''

पॅरामीटर विस्तारासाठी सोपा फॉर्म आहे:

पॅरामीटरचे मूल्य, कोणतेही असल्यास, बदली केले आहे.

पॅरामीटर नाव किंवा चिन्ह हे ब्रेसिजमध्ये बंद केले जाऊ शकतात, जे एकापेक्षा अधिक अंकांसह स्थितीत्मक मापदंडास वगळता किंवा जेव्हा त्यास नमूद केल्याप्रमाणे पॅरामीटरने अनुसरण केले जाते तेव्हा पर्यायी असतात. डबल-कोट्समध्ये पॅरामीटर विस्तार घडल्यास:

  1. विस्तारणाच्या परिणामांवर पथनाव विस्तार केला जात नाही
  2. अपवाद वगळता, विस्ताराच्या परिणामांवर फील्ड विभाजित केलेले नाही.

याव्यतिरिक्त, खालीलपैकी एक स्वरूप वापरून पॅरामीटर विस्तार सुधारला जाऊ शकतो.

डीफॉल्ट मूल्ये वापरा जर पॅरामीटर सेट केलेले नसेल किंवा शून्य असेल, तर शब्दाचा विस्तार केला जाईल; अन्यथा, पॅरामीटरचे मूल्य भरले आहे.

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

नल किंवा अनसेट करताना त्रुटी सूचित करा. जर पॅरामीटर अनसेट किंवा शून्य आहे, तर शब्दांचा विस्तार (किंवा शब्द वगळल्यास हे सेट न केलेले संदेश सेट केलेले असते) मानक त्रुटीमध्ये लिहिलेले असते आणि शेल बाहेर नझरेझ एक्झीट स्थितीसह बाहेर पडतो. अन्यथा, पॅरामीटरचे मूल्य बदली केले जाईल. परस्पर शेलला बाहेर पडण्याची आवश्यकता नाही.

पर्यायी मूल्य वापरा. पॅरामीटर सेट न केल्यास किंवा शून्य असल्यास, रद्द केले आहे; अन्यथा, शब्दाचा विस्तार वाढवला आहे.

पूर्वी दाखवलेल्या पॅरामीटर विस्तारामध्ये, स्वरुपात स्वरूपित केलेल्या कोलनचा वापर अनसेट किंवा नलच्या पॅरामीटरसाठी एका चाचणीमध्ये होतो; पॅरामीटरसाठी चाचणीमध्ये कोलन निष्कासन परिणाम केवळ अनसेट केला जातो.

स्ट्रिंग लांबी पॅरामीटरच्या मूल्याच्या वर्णांची लांबी

पॅरामीटर विस्ताराचे खालील चार प्रकार उपस्ट्रिंग प्रोसेसिंगसाठी प्रदान करतात. प्रत्येक बाबतीत, नमुना जुळवणीचा नमुना (शेल नमुने पाहा), नियमित अभिव्यक्ती चिन्हांऐवजी, नमुन्यांची मूल्यमापन करण्यासाठी वापरली जाते. जर पॅरामीटर * किंवा @ असेल, तर विस्ताराचे परिणाम निर्दिष्ट न केलेले आहेत. दुहेरी अवतरणांमधील संपूर्ण पॅरामीटर विस्तारित स्ट्रिंग जोडणे खालील चार प्रकारचे नमुना वर्ण काढू शकत नाही, तर ब्रेसिजमधील वर्णांचा उद्धरण करताना हे परिणाम होतात.

सर्वात लहान अंश नमुन्यात काढा शब्द एक पॅटर्न निर्मिती विस्तृत आहे. पॅरामीटर विस्ताराने नंतर परिमाण मिळते, ज्यातून रिट्रीटने जुळलेला प्रत्यय सर्वात लहान भागाने हटविला जातो.

सर्वात मोठी प्रत्यय नमुना काढा शब्द एक पॅटर्न निर्मिती विस्तृत आहे. पॅरामीटर विस्तार नंतर पॅरामीटर मध्ये परिमाण येतो, ज्यामुळे रिफिलच्या सर्वात मोठ्या भागासह जुळलेल्या पॅटर्न हटविले जाते.

सर्वात लहान उपसर्ग पॅटर्न काढा शब्द एक पॅटर्न निर्मिती विस्तृत आहे. पॅरामीटर विस्ताराने नंतर परिमाण मिळते, ज्यातून नमुन्यात नमूद केलेल्या प्रिफिक्सच्या लहान भागाने हटविले जाते.

सर्वात मोठी उपसर्ग पॅटर्न काढा शब्द एक पॅटर्न निर्मिती विस्तृत आहे. पॅरामीटर विस्ताराने नंतर परिमाण मिळते, ज्यात पॅटर्नने जुळलेला उपसर्ग सर्वात मोठा भाग हटला आहे.

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

आदेश प्रतियोजन आदेशाचे नाव स्वतः ऐवजी एक आदेशाचे आऊटपुट ठरविण्यास परवानगी देतो. आदेश खालीलप्रमाणे असल्यावर आदेश पर्याय प्रतिस्थापना होते:

$ (कमांड)

किंवा पो `` बॅकक्वॉट '' आवृत्ती पीसी:

`आदेश`

शेल एक सबशेल्ड पर्यावरणात आज्ञा कार्यान्वित करून आदेश प्रतिस्थापन विस्तृत करते आणि कमांड प्रतिस्थापना बदली आदेशाच्या मानक आऊटपुटाने बदलते, प्रतिस्थापन च्या शेवटी एक किंवा अधिक s ची अनुक्रम काढून टाकते. (आऊटपुट संपेपर्यंत एंबेड केलेला s काढला जात नाही, तथापि, क्षेत्रीय विभाजनाच्या वेळी, ते s मध्ये भाषांतरित केले जाऊ शकतात, आयएफएसच्या मूल्यानुसार आणि त्यास प्रभावीपणे उद्धृत करता येईल.)

अंकगणित विस्तार

अंकगणितिक विस्तार अंकगणित अभिव्यक्तीचे मूल्यमापन करण्यासाठी आणि त्याचे मूल्य प्रतिबिंबित करण्यासाठी एक यंत्रणा प्रदान करते. अंकगणित विस्ताराचे स्वरूप खालील प्रमाणे आहे:

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

अभिव्यक्तीचे मूल्य दोनदा अवतरणांप्रमाणे होते, त्याव्यतिरिक्त अभिव्यक्तीमधील दुहेरी अवतरण विशेषत: हाताळले जात नाही. शेल पॅरामीटर विस्तार, आदेश प्रतिस्थापक आणि कोट काढून टाकण्यासाठी अभिव्यक्तीमध्ये सर्व टोकन्स विस्तृत करतो.

पुढे, शेल हे अंकगणित अभिव्यक्ती म्हणून हाताळते आणि अभिव्यक्तीचे मूल्य वापरते.

व्हाईट स्पेस स्प्लिटिंग (फील्ड स्प्टींग)

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

शेल प्रत्येक आकृत्यांना डीफिलिओटर म्हणून हाताळतो आणि पॅरामीटर विस्तार आणि आदेश प्रतिस्थापनेच्या परिणामांना विभागात विभाजित करण्यासाठी विभाजक वापरतात.

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

जोपर्यंत - f फॅक्ट सेट केला जात नाही तोपर्यंत, शब्द विभाजन पूर्ण झाल्यानंतर फाइल नाव निर्मिती केली जाते. प्रत्येक शब्दास स्लिप्सद्वारे विभक्त केलेल्या नमुनेंची श्रृंखला म्हणून पाहिले जाते. विस्ताराची प्रक्रिया सर्व विद्यमान फाइल्सच्या नावांसह शब्द पुनर्स्थित करते ज्यांची नावे प्रत्येक पॅटर्नला निर्दिष्ट केलेल्या नमुन्याशी जुळणारी स्ट्रिंगसह बदलून तयार केली जाऊ शकतात. यावर दोन निर्बंध आहेत: प्रथम, एक पॅटर्न स्लॅश असलेली स्ट्रिंगशी जुळत नाही, आणि दुसरा, एक नमुना एक कालावधीसह प्रारंभ करणार्या स्ट्रिंगशी जुळत नाही जोपर्यंत नमुनाचा पहिला वर्ण कालावधी नसतो. पुढील विभागात दोन्ही पॅट नाम विस्तार आणि केस (1) कमांडसाठी वापरले जाणारे नमुनेचे वर्णन केले आहे.

शेल नमुने

एक नमुना मध्ये सामान्य वर्ण असतात, जे स्वतःशी जुळतात, आणि मेटा-वर्ण. मेटा-वर्ण ``! '' `` '' `` `? '' आणि` `[['' '' '' '' '' हे अक्षर त्यांच्या विशेष अर्थांचे पराभूत होतील जर ते उद्धृत असतील. जेव्हा कमांड किंवा व्हेरिएबलचे प्रतिबंधात्मक कार्य केले जाते आणि डॉलर चिन्ह किंवा बॅक कोट्स दुहेरी अवतरण नसतात, तेव्हा व्हेरिएबलचे मूल्य किंवा कमांडचे आऊटपुट या अक्षरासाठी स्कॅन केले जाते आणि ते मेटा-वर्ड मध्ये बदलले जाते.

एक तारांकन (`` * '') कोणत्याही वर्णांच्या वर्णांसह जुळते प्रश्नचिन्ह कोणत्याही एका वर्णाशी जुळते. डावा कंस (`` [''] मध्ये एक वर्ण वर्ग समाविष्ट आहे. ``] '' गहाळ नसल्यास वर्च्युअल क्लासची समाप्ती दर्शवित आहे (``) '') तर `` [['' एक कॅरेक्टर वर्ग ओळखण्याऐवजी `` ['' '' '' जुळते. एक वर्ण वर्ग चौरस कंस दरम्यान कोणतेही वर्ण जुळते. वजा चिन्हे वापरून एक श्रेणी चिन्ह निर्दिष्ट केले जाऊ शकते. वर्ण वर्ग वर्ण क्लासचे प्रथम वर्ण उद्गार चिन्हात करून complemented जाऊ शकते.

``] '' ला एका वर्गात क्लासमध्ये समाविष्ट करण्यासाठी, हे प्रथम वर्णांची यादी तयार करा (``! '' नंतर) वजा चिन्हात समाविष्ट करण्यासाठी, ते प्रथम किंवा शेवटचे अक्षर सूचीबद्ध करा

बिल्टिन्स

या विभागात अंगभूत आदेशांची सूची आहे कारण त्यांना काही कार्य करण्याची आवश्यकता आहे जे वेगळ्या प्रक्रियेद्वारे केले जाऊ शकत नाही. या व्यतिरिक्त, इतर अनेक कमांड्स आहेत जे कार्यक्षमतेसाठी बांधली जाऊ शकतात (उदा. 1 ईको ).

:

एक शून्य आज्ञा जो 0 (सत्य) बाहेर पडतो.

. फाईल

निर्दिष्ट फाईल मधील कमांड्स शेलद्वारे वाचली जातात आणि कार्यान्वित होतात.

उपनाम [ नाव [ = स्ट्रिंग ... ]]

जर name = string नमूद असेल, तर शेल उपनाम नावासह मूल्य स्ट्रिंगसह परिभाषित करेल जर नाव निश्चित केले असेल तर, उपनाव नावाचे मूल्य छापलेले आहे. एकही आर्ग्यूमेंट न करता, alias builtin सर्व परिभाषित उपनावे नावे आणि मूल्ये मुद्रित करते ( unalias पहा )

बीजी [ जॉब] ...

पार्श्वभूमीमध्ये निर्दिष्ट कार्ये चालू ठेवा (किंवा वर्तमान नोझ नसल्यास वर्तमान नोकरी)

कमांड आर्ग ...

विशिष्ट अंगभूत आदेश कार्यान्वित करा. (हे एक उपयुक्त शेल फंक्शन असून त्यास एक नेम बनवलेल्या आज्ञेप्रमाणे आहे.)

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

निर्देशीत डिरेक्ट्रीवर स्विच करा (मुलभूत $ HOME) CDPATH करीता नोंद प्रविष्ट केल्यास cd आदेश किंवा शेल परिवर्तनीय CDPATH सेट केली जाईल आणि निर्देशिका नाव स्लॅशसह सुरू होणार नाही, तर CDPATH मध्ये सूचीबद्ध निर्देशिका शोधले जातील निर्देशीत डिरेक्ट्रीसाठी. CDPATH चे स्वरूप PATH प्रमाणेच असते इंटरैक्टिव शेलमध्ये, cd कमांड त्या डिरेक्टरीचे नाव मुद्रित करेल जिला तो प्रत्यक्षात स्वीच होईल जर हे वापरकर्त्याने दिलेल्या नावापेक्षा वेगळे असेल. हे वेगवेगळे असू शकतात कारण CDPATH यंत्रणा वापरली जात होती किंवा सिग्नल लिंक ओलांडला गेला होता.

eval स्ट्रिंग ...

रिक्त स्थानांसह सर्व आर्ग्युमेंट्स सेट करा. नंतर पुन्हा पार्स करा आणि कमांड कार्यान्वित करा.

exec [ आदेश आर्ग ... ]

आदेश वगळला जात नाही तोपर्यंत, शेल प्रक्रिया निर्दिष्ट प्रोग्रामाने बदलली जाते (जे वास्तविक प्रोग्राम असणे आवश्यक आहे, शेल स्थापित किंवा फंक्शन नव्हे). Exec आदेशवरील कोणतीही पुनर्निर्देशन कायमस्वरूपी चिन्हांकित केली जाते, जेणेकरून exec आदेश पूर्ण होते ते पूर्ववत केले जात नाही.

exit [ exitstatus ]

शेल प्रक्रिया समाप्त करा Exitstatus दिले असल्यास ती शेलची निर्गमन स्थिती म्हणून वापरली जाते; अन्यथा पूर्वनिर्धारित आदेशाची बाहेर पडा स्थिती वापरली जाते.

नाव निर्यात करा ...

export -p

निर्दिष्ट नावे निर्यात केली जातात जेणेकरून ते त्यानंतरच्या आज्ञाांच्या वातावरणात दिसेल. व्हेरिएबलचे अन-एक्सपोर्ट करण्याचा एकमेव मार्ग म्हणजे ते अनसेट करणे आहे. शेल लिहिलेल्या व्हेरिएबलची व्हॅल्यू लिहून देऊन निर्यात केली जाते

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

एकही आर्ग्यूमेंट्स न निर्यात आदेश सर्व एक्सपोर्ट केलेल्या व्हेरिएबल्सचे नाव सूचीबद्ध करते. --p पर्यायने निर्देशीत केले की नॉन-इंटरैक्टिव वापरकरिता आउटपुट योग्यरित्या स्वरूपित केले जाईल.

एफसी [- एडिटर ] [ पहिले [ शेवटचे ]]

एफसी-एल [- एनआर ] [ पहिले [ शेवटचे ]]

एफसी -एस [ जुने = नवीन ] [ पहिले ]

एफसी आरटीइन सूची, किंवा संपादने आणि पुनर्रचना, पूर्वी परस्परसंवादी शेलमध्ये प्रवेश केला जातो.

-e संपादक

आज्ञा संपादित करण्यासाठी संपादकाने नेमलेला आहे. पीएटीएच व्हेरिएबलद्वारे शोधाच्या अधीन असलेल्या एडिटर स्ट्रिंगला कमांड नाव आहे. FCEDIT व्हेरिएबलमधील मूल्य डीफॉल्ट म्हणून वापरले जाते जेव्हा- e निर्दिष्ट नाही. जर FCEDIT शून्य किंवा सेट केलेले नसेल, तर EDITOR व्हेरिएबलचे मूल्य वापरण्यात येते. जर EDITOR शून्य किंवा अनसेट आहे, तर एडी (1) संपादक म्हणून वापरला जातो.

-एल (एएल)

त्याऐवजी संपादकाचा वापर करण्यापेक्षा आदेशांची यादी करा. आज्ञा पहिल्या आणि शेवटच्या ऑपरेंल्सच्या दर्शविलेल्या अनुक्रमाने लिहिल्या जातात - r या क्रमाने - r कमांड नंबरने येणारी प्रत्येक कमांड द्वारे.

-एन

-l सह सूचीबद्ध करतेवेळी आदेश क्रमांक दाबा.

-आर

सूचीबद्ध केलेल्या आदेशांची क्रमवारी उलट करा (सह - l किंवा संपादित (न - l किंवा - सह )

-स्

एडिटर उघडल्याशिवाय आदेश पुन्हा कार्यान्वीत करा.

पहिला

शेवटचा

सूची किंवा संपादित करण्यासाठी आज्ञा निवडा. मागील आदेशांची संख्या ज्यामध्ये प्रवेश करणे शक्य आहे ते HISTSIZE व्हेरिएबलच्या मूल्यानुसार केले जाते . प्रथम किंवा शेवटचे किंवा दोन्हीचे मूल्य पुढीलपैकी एक आहे:

[+] नंबर

एक कमांड नंबर दर्शविणारी एक सकारात्मक संख्या; कमांड नंबरांना - l ऑप्शनसह प्रदर्शित केले जाऊ शकते.

-नंबर

निगेटिव्ह डेसिमल नंबर जे कमांड पूर्वीच्या कमांडची अंमलबजावणी करते. उदाहरणार्थ, 1 ही तत्पूर्वीची आज्ञा आहे.

स्ट्रिंग

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

खालील वातावरणातील घटक fc च्या एक्जीक्यूशनला प्रभावित करतात:

FCEDIT

वापरण्यासाठी संपादकाचे नाव.

HISTSIZE

प्रवेशयोग्य असलेल्या मागील आदेशांची संख्या

fg [ जॉब ]

निर्दिष्ट नोकरी किंवा वर्तमान नोकरी अग्रभूमीवर हलवा

ऑप्स्ट्रींग व्हेर

POSIX getopts आदेश, बेल लॅब -ड्रेडेड getopt (1) सह गोंधळून जाऊ नका.

पहिला युक्तिवाद अक्षरांच्या मालिकेत असावा, त्यापैकी प्रत्येक पर्यायीपणे तर्कशक्ती आवश्यक आहे हे सूचित करण्यासाठी एक अपूर्णांकाने अनुसरण केले जाऊ शकते. निर्दिष्ट केलेले वेरिअर विश्लेषित केलेल्या पर्यायावर सेट केले आहे

व्हाईटस्पेस असलेल्या आर्ग्युमेंट्सच्या हाताळणीमुळे getopts आदेश जुन्या getopt (1) युटिलिटिची deprecates करते.

मिळवलेल्या अंतर्विधेंचा वापर पॅरामिटरच्या सूचीमधून पर्याय आणि त्यांची आर्ग्यूमेंट्स मिळवण्यासाठी केला जाऊ शकतो. जेव्हा चालविले जाते, getopts पुढील पर्यायचे मूल्य var द्वारा निर्दिष्ट केलेल्या शेल वॅल्यूमधील सूचीतील पर्याय स्ट्रिंग मधे ठेवते आणि शेल परिवर्तनात OPIND च्या अनुक्रमणिकेत असते तेव्हा OPTIND 1 वर आरंभी केली जाते. त्यासाठी प्रत्येक पर्यायासाठी एक तर्क, getopts builtin shell variable OPTARG मध्ये ठेवेल. जर ऑप्स्ट्रींग मध्ये एखादा पर्याय अनुमत नसेल तर OPTARG अनसेट केला जाईल.

optstring मान्यताप्राप्त पर्याय अक्षरे एक स्ट्रिंग आहे. पत्रानंतर कोलनाने पाठपुरावा केल्यास पर्यायला पांढरे स्थानावरून वेगळे किंवा वेगळे न ठेवता एखादी वाद निर्माण होण्याची शक्यता आहे. अपेक्षित असताना एखादा विकल्प वर्ण सापडत नसल्यास, getopts एक ``? '' मिळवण्यासाठी वेरिएबल var सेट करेल नंतर त्यातून OPTARG सेट करणे आणि मानक त्रुटीमध्ये आउटपुट लिहावे. ऑप्टट्रींगचे पहिले अक्षर म्हणून कोलन निर्दिष्ट केल्याने सर्व त्रुटींकडे दुर्लक्ष केले जाईल.

अंतिम पर्याय गाठला आहे तेव्हा एक नॉनझोरो मूल्य परत केला जातो. उर्वरित शिल्लक नसल्यास, getopts var ला पर्याय विशेष पर्याय म्हणून सेट करेल, `` - '' अन्यथा, ते var ``? '

खाली दिलेल्या कोड खंडांवरून असे सूचित होते की एखाद्या आदेशासाठी आर्ग्यूमेंट्स कशा प्रकारे प्रक्रिया करू शकतात ज्यामध्ये [a] आणि [b] आणि [c] पर्याय वापरला जाऊ शकतो ज्यासाठी तर्क करणे आवश्यक आहे.

प्राप्त करताना एबीसी: f
करा
प्रकरण $ फ इन
एक | ब) ध्वजांकित = $ फॅ ;;
c) carg = $ OPTARG ;;
\?) $ USAGE प्रतिध्वनी; exit 1 ;;
इसाक
केले
शिफ्ट `एक्सस्प $ OPTIND - 1`

हा कोड खालीलपैकी कोणतीही स्वीकार करेल:

सीएमडी -कॅरग फाइल फाइल
cmd -a -c arg फाइल फाइल
cmd -carg -a फाइल फाइल
cmd -a -carg-file file

हॅश-आरव्ही आज्ञा ...

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

आर्ग्यूमेंट्स सह, हॅश कमांड हॅश टेबलवरून निर्दिष्ट आज्ञा काढून टाकते (ते कार्य करीत नाहीत तोपर्यंत) आणि नंतर त्यांना शोधते. - v पर्याय सह, हॅश कमांडच्या स्थानांना छपाई करतो जसा त्यांना त्यांना सापडतो. --r पर्याय हॅश कमांडमुळे फंक्शनच्या वगळता हॅश टेबलमधील सर्व एंट्रीज डिलिट करतो.

नोकरी [ नोकरी ]

कार्यपद्धतीमधील कार्यपद्धतीचा प्रक्रिया आयडी प्रिंट करा. जॉब वितर्क वगळल्यास वर्तमान नोकरी वापरली जाते.

नोकर्या

ही कमांड सर्व प्रकारच्या पार्श्वभूमी प्रक्रियांची यादी करेल जे सध्याच्या शेल प्रक्रियेतील मुले आहेत.

पीडब्ल्यूडी

सध्याची डिरेक्ट्री प्रिंट करा. बिल्टिन आज्ञा समान नावाच्या प्रोग्रामपेक्षा वेगळी असू शकते कारण विद्यमान निर्देशिका प्रत्येक वेळी पुन: निर्देशित करण्यापेक्षा वर्तमान निर्देशिका काय आहे हे लक्षात ठेवते. हे ते जलद करते तरी, जर सध्याच्या डिरेक्ट्रीचे नामांकन केले असल्यास, pwd चे अंतर्निर्मित आवृत्ती निर्देशिकाकरिता जुने नाव मुद्रित करणे सुरू ठेवेल.

[- पी प्रॉमप्ट ] वाचा [ ... - आर ] चल ...

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

पूर्वनिर्धारितपणे, - r पर्याय निर्देशीत न केल्यास, बॅकस्लॅश `` \ '' एस्केप वर्ण म्हणून कार्य करतो, ज्यामुळे खालील अक्षर वस्तुतः हाताळले जातात जर एक बॅकस्लॅश नंतर एक नवीन रेखा असेल तर, बॅकस्लॅश आणि नवीन ओळ हटविली जाईल.

केवळ वाचनीय नाव ...

readonly -p

निर्दिष्ट नावे केवळ वाचलेले म्हणून चिन्हांकित केली आहेत, जेणेकरुन ते नंतर सुधारित किंवा अनसेट न करणे शक्य आहे. शेल सेट करण्याजोगी व्हेरिएबलची व्हॅल्यू ही लिखित केल्याने केवळ वाचलेली चिन्हास दर्शविते

readonly name = मूल्य

एकही आर्ग्यूमेंट नसल्यास केवळ वाचनीय आदेश सर्व वाचलेल्या व्हेरिएबल्सच्या नावे सूचीबद्ध करते. --p पर्यायने निर्देशीत केले की नॉन-इंटरैक्टिव वापरकरिता आउटपुट योग्यरित्या स्वरूपित केले जाईल.

[{- विकल्प | + पर्याय | - आर्ग ... ]

Set कमांड तीन वेगवेगळ्या फंक्शन्स कार्यान्वित करते.

एकही आर्ग्यूमेंट न करता, त्या सर्व शेल व्हेरिएबल्सच्या व्हॅल्यूची सूची दिलेली आहे.

पर्याय दिले असल्यास, ते निर्दिष्ट पर्याय ध्वज सेट करते, किंवा Sx Argument List Processing नावाच्या विभागात वर्णन केल्याप्रमाणे त्यांना साफ करते.

सेट कमांडचा तिसरा वापर म्हणजे शेलच्या स्थितीय पॅरामीटर्सच्या विशिष्ट args मध्ये मुल्ये सेट करणे. पर्यायी न बदलता स्थितीय पॅरामीटर बदलण्यासाठी, सेट करण्यासाठी प्रथम वितर्क म्हणून `` - '' वापरा. कोणतेही अर्गस उपस्थित नसल्यास, सेट कमांड सर्व स्थितीत्मक मापदंड काढून टाकेल (`` shift $ # '' कार्यान्वित करण्याच्या समतुल्य.)

चल मूल्य

व्हेरिएबलला मूल्य नियुक्त करते (सर्वसाधारणपणे setvar setvar वापरण्याऐवजी वेरियबल = मुल्य लिहायची असते त्या फंक्शन्स मध्ये वापरण्याजोगी आहे ज्या व्हेरिएबल्सची नावे देतात ज्याची नावे पॅरामीटर्स म्हणून दिली जातात.)

shift [ n ]

स्थितीसंबंधी मापदंड n वेळा बदला एक शिफ्ट $ 2 ची व्हॅल्यू $ 2 च्या मूल्यावर $ 2 च्या मूल्यावर $ 3 च्या मूल्यापर्यंत सेट करते आणि इतकेच, $ 1 चे मूल्य कमी करते. जर एन ने स्थानिकीय पॅरामीटरपेक्षा अधिक असेल, तर शिफ्ट त्रुटी संदेश जारी करेल आणि रिटर्न स्थिती 2 सह बाहेर पडा.

वेळा

शेलसाठी आणि शेलमधुन चालवल्या जाणार्या प्रक्रियेसाठी संचयित वापरकर्ता आणि सिस्टम वेळा मुद्रित करा. परतीच्या स्थितीत 0 आहे

सापाने क्रिया सिग्नल ...

विशिष्ट निर्दिष्ट सिग्नल प्राप्त केल्यावर शेल पार्स करणे आणि कारवाई करणे कारणे बनवा. सिग्नल सिग्नल नंबरद्वारे निर्दिष्ट केले आहेत. जर सिग्नल असेल 0 ही शेल निष्कासित झाल्यावर कार्यवाही केली जाते. क्रिया निरर्थक असू शकते किंवा `` - '' पूर्व निर्दिष्ट सिग्नलकडे दुर्लक्ष करते आणि नंतर डीफॉल्ट कारवाई केली जाते. जेव्हा शेल एक सबशेल्ड बंद करतो, तेव्हा ते डीफॉल्ट कृतीवर अडकलेल्या (परंतु दुर्लक्ष केलेले नाही) सिग्नल रीसेट करते. शेलवरील प्रवेशाकडे दुर्लक्ष केलेल्या सिग्नलवर ट्रॅप कमांडचा कोणताही प्रभाव नाही.

[ नाव ... ] टाइप करा

आज्ञा म्हणून प्रत्येक नावाची व्याख्या करा आणि कमांड शोध च्या रिझोल्यूशनची प्रिंट करा. संभाव्य रिजोल्यूशन हे आहेत: शेल कीवर्ड, उर्फ, शेल बिल्टिन , कमांड, ट्रॅक एलीज आणि आढळला नाही. उपनामांकरिता उपनाम विस्तार छापलेला आहे; कमांड्स आणि ट्रॅक केलेल्या उपनावासाठी कमांडचे पूर्ण पाथनाव छापलेले आहे.

ओलीमिट [- एच-एस ] [- एटीएफडीसीएमएलपीएन [ मूल्य ]]

प्रक्रियांवर हार्ड किंवा सॉफ्ट मर्यादा विचारा किंवा नवीन मर्यादा सेट करा. कडक मर्यादा (ज्यास कोणतीही प्रक्रिया उल्लंघन करण्यात आलेली नाही आणि जे एकदा कमी केले गेले नाही ते वाढविले जाऊ शकत नाही) आणि मऊ मर्यादा (ज्यामुळे सिग्नल व्हायला लागतो परंतु अपरिहार्यपणे मराठला जात नाही आणि जो वाढविला जाऊ शकतो) मध्ये निवड केली जाते. या ध्वज:

-एच

हार्ड सीमांबद्दल सेट किंवा चौकशी करा

-एस

मऊ मर्यादांबद्दल सेट किंवा चौकशी करा जर नाही - आणि एस निर्दिष्ट केले असेल, तर मऊ मर्यादा प्रदर्शित केली जाईल किंवा दोन्ही मर्यादा सेट केल्या जातील. दोन्ही निर्दिष्ट केले असल्यास, शेवटचा विजय मिळतो.

चौकशी किंवा सेट करण्याची मर्यादा, त्यानंतर, यापैकी कोणत्याही ध्वज निर्दिष्ट करून निवडले जाते:

-ए

सर्व वर्तमान मर्यादा दाखवा

-टी

CPU वेळची मर्यादा दर्शवा किंवा सेट करा (सेकंदांमध्ये)

-f

सर्वात मोठी फाईलची मर्यादा दाखवा किंवा सेट करा जी तयार केली जाऊ शकते (512-बाइट ब्लॉक्समध्ये)

-डी

एखाद्या प्रक्रीयेच्या डेटा सेगमेंट आकारावर (किलोबाइट्समध्ये) मर्यादा दर्शवा किंवा सेट करा

-स्

एखाद्या प्रक्रियेच्या स्टॅक आकारावर मर्यादा दर्शवा किंवा सेट करा (किलोबाइटमध्ये)

-सी

मोठे कोर डम्प आकारावर मर्यादा दाखवा किंवा सेट करा जे उत्पादन केले जाऊ शकते (512-बाइट ब्लॉक्समध्ये)

-एम

संपूर्ण फिजिकल मेमरीवरील मर्यादा दाखवा किंवा सेट करा जी प्रक्रियेद्वारे वापरली जाऊ शकते (किलोबाइट्समध्ये)

-एल

शोअरबॅक (2) ( किलोबाइट्समध्ये ) किती लॉक करून लॉक करता येईल यावर मर्यादा दर्शवा किंवा सेट करा

-पी

या वापरकर्त्यास एकावेळी प्रक्रिया केलेल्या संख्येची मर्यादा दाखवा किंवा सेट करू शकता

-एन

संख्या दाखवण्याची मर्यादा दाखवा किंवा सेट करा जी एक प्रक्रिया एकदा उघडलेली असू शकते

जर यापैकी कोणतेही निर्दिष्ट केले नसल्यास, ते दर्शवलेल्या किंवा सेट केलेल्या फाईल आकारावर मर्यादा आहे. मूल्य निर्दिष्ट केले असल्यास, मर्यादा त्या नंबरवर सेट केली जाते; नाहीतर वर्तमान मर्यादा प्रदर्शित केली जाते.

एक अनियंत्रित प्रक्रियेची मर्यादा प्रदर्शित केली जाऊ शकते किंवा sysctl (8) युटिलिटी वापरून सेट केले जाऊ शकते.

umask [ मुखवटा ]

Umask चे मूल्य सेट करा (umask (2) पहा) निर्दिष्ट अष्टक मूल्यामध्ये. वितर्क सोडल्यास, umask मूल्य मुद्रित करण्यात आले आहे.

युनियास [- ] [ नाव ]

नाव निर्दिष्ट केले असल्यास, शेल त्या उपनामांना काढून टाकेल. जर - a निर्देशीत केला असेल, तर सर्व उपनावे काढले जातील.

नाव अनसेट करा ...

निर्दिष्ट चलने आणि फंक्शन्स सेट न केलेल्या आणि unexported आहेत. जर दिलेले नाव वेरियेबल आणि फंक्शन दोन्हीशी संबंधित असेल, तर वेरियेबल आणि फंक्शन दोन्ही सेट नसतात.

प्रतीक्षा करा [ नोकरी ]

निर्दिष्ट नोकरी पूर्ण करण्यासाठी प्रतीक्षा करा आणि नोकरीमधील शेवटच्या प्रक्रियेची निर्गमन स्थिती परत करा. जर तर्क वगळला असेल तर सर्व नोकर्या पूर्ण होण्याची प्रतीक्षा करा आणि शून्यावरील एक परतीची स्थिती परत करा.

कमांड लाइन एडिटिंग

जेव्हा टर्मिनलवर sh वापरत असेल तेव्हा वर्तमान कमांड आणि कमांड हिस्ट्री (सीएक्स बिल्टिन्स मध्ये एफसी पाहा) vi-mode कमांड-लाइन संपादन वापरून संपादित केले जाऊ शकते. Vi मॅन पृष्ठावरील वर्णनाच्या उपसंच सारखे ही मोड खाली वर्णन केलेले आदेश वापरते. `सेट '-ओ vi आदेश vi-mode संपादन सक्षम करते आणि vi insert मोडमध्ये sh स्थानबद्ध करते. Vi-mode enabled सह, sh डाइर्ट मोड व कमांड मोड मध्ये स्विच करता येते. संपादक येथे संपूर्ण वर्णन नाही, पण नंतर दस्तऐवज मध्ये असेल. हे vi प्रमाणेच असते: टाइप EQ ईएससी आपल्याला आज्ञा सहाय्य आदेश मोडमध्ये टाकेल. हिटिंग एकाएका तर कमांड मोड मध्ये ही शेल ओळवर शिरवेल.

महत्वाचे: आपल्या कॉम्प्यूटरवर आज्ञा कशी वापरली जाते हे पाहण्यासाठी man कमांड ( % man ) वापरा.