यह कमांड यश है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
यश - एक POSIX-संगत कमांड लाइन शेल
SYNOPSIS
यश [विकल्प...] [--] [ऑपरेंड...]
परिचय
अभी तक परागकेशर रखनेवाला फूल का णाग खोल (यश) UNIX जैसे ऑपरेटिंग सिस्टम के लिए एक कमांड लाइन शेल है। खोल
POSIX.1-2008 मानक (अधिकांश भागों के लिए) के अनुरूप है, और वास्तव में इससे भी अधिक है
अन्य POSIX-अनुरूप शैलों की तुलना में अनुरूप। इसके अलावा भी इसमें कई खूबियां हैं
कमांड इतिहास और कमांड लाइन संपादन जैसे इंटरैक्टिव उपयोग के लिए उपयोग किया जाता है।
इस कार्यक्रम को जीएनयू जनरल की शर्तों के तहत स्वतंत्र रूप से संशोधित और पुनर्वितरित किया जा सकता है
सार्वजनिक लाइसेंस (संस्करण 2)। उपयोग of इसका कार्यक्रम is सब at तुंहारे अपना जोखिम. वहाँ is नहीं
वारंटी और la लेखक is नहीं जिम्मेदार एसटी कोई परिणाम के कारण होता by उपयोग of इसका
कार्यक्रम.
क्रिएटिव कॉमन्स की शर्तों के तहत इस मैनुअल को स्वतंत्र रूप से संशोधित और पुनर्वितरित किया जा सकता है
एट्रिब्यूशन-शेयरअलाइक 2.1 जापान।
यश का विकास और रखरखाव 渡邊裕貴 (वातानाबे युकी) उर्फ मैजिकेंट द्वारा किया गया है। यश
विकास परियोजना और यश का मुखपृष्ठ ओएसडीएन द्वारा होस्ट किया गया है।
मंगलाचरण
जब एक प्रोग्राम के रूप में आह्वान किया जाता है, तो यश पूर्वनिर्धारित आरंभीकरण चरणों को निष्पादित करता है
बार-बार कमांड पढ़ता है और निष्पादित करता है। मंगलाचरण में दिए गए कमांड लाइन तर्क
यह निर्धारित करता है कि शेल स्वयं को कैसे प्रारंभ करता है और कमांड निष्पादित करता है।
आदेश line तर्क
यश के लिए कमांड लाइन तर्कों का सिंटैक्स POSIX के अनुरूप है। जैसा कि POSIX में परिभाषित किया गया है,
तर्कों को अलग कर दिया गया है विकल्पों और ऑपरेंड. के बारे में अधिक विस्तृत विवरण के लिए
विकल्प और ऑपरेंड, कमांड तर्क सिंटैक्स देखें। सभी विकल्प ऑपरेंड से पहले आने चाहिए।
ऑपरेंड की व्याख्या निर्दिष्ट विकल्पों पर निर्भर करती है।
जब आप निर्दिष्ट करते हैं -c (--cmdline) विकल्प, आपको कम से कम एक ऑपरेंड देना होगा। खोल
पहले ऑपरेंड को कमांड स्ट्रिंग के रूप में व्याख्या और निष्पादित करता है। दूसरा ऑपरेंड, यदि कोई हो,
को आरंभ करने के लिए उपयोग किया जाता है 0 विशेष पैरामीटर. अन्य ऑपरेंड, यदि कोई हो, का उपयोग किया जाता है
स्थितीय मापदंडों को प्रारंभ करें। जब -c (--cmdline) विकल्प निर्दिष्ट है,
शेल किसी फ़ाइल या मानक इनपुट को नहीं पढ़ता है (जब तक कि डॉट बिल्ट-इन का उपयोग नहीं किया जाता है)।
यदि आप निर्दिष्ट करते हैं -s (--stdin) विकल्प, शेल मानक इनपुट को पढ़ता है, व्याख्या करता है
कमांड के रूप में इनपुट करें, और उन्हें निष्पादित करें। दिए गए सभी ऑपरेंड का उपयोग आरंभ करने के लिए किया जाता है
स्थितीय पैरामीटर. 0 शेल जिस नाम से है, उसके लिए विशेष पैरामीटर आरंभ किया गया है
के रूप में आह्वान किया गया।
यदि आप न तो निर्दिष्ट करते हैं -c (--cmdline) नहीं -s (--stdin) विकल्प, शेल एक फ़ाइल पढ़ता है,
फ़ाइल सामग्री को कमांड के रूप में व्याख्या करता है, और उन्हें निष्पादित करता है। पहला ऑपरेंड निर्दिष्ट करता है
फ़ाइल का पथनाम. शेष ऑपरेंड का उपयोग स्थिति को आरंभ करने के लिए किया जाता है
पैरामीटर. यदि आप कोई ऑपरेंड नहीं देते हैं, तो शेल मानक इनपुट को पढ़ता है जैसे कि
-s (--stdin) विकल्प निर्दिष्ट है।
आप दोनों का उपयोग नहीं कर सकते -c (--cmdline) और -s (--stdin) एक समय में विकल्प।
यदि आप इनमें से कोई भी निर्दिष्ट करते हैं --मदद or --संस्करण विकल्प, शेल कभी भी सामान्य प्रदर्शन नहीं करता है
आरंभीकरण या आदेश निष्पादन। इसके बजाय, यह केवल संक्षिप्त उपयोग (के लिए) प्रिंट करता है --मदद) या
संस्करण जानकारी (के लिए) --संस्करण)। अगर द --संस्करण विकल्प के साथ है -v
(--शब्दशः) विकल्प, शेल उपलब्ध वैकल्पिक सुविधाओं की एक सूची भी प्रिंट करता है।
यदि आप निर्दिष्ट करते हैं -i (--इंटरैक्टिव) विकल्प, शेल इंटरैक्टिव मोड में चला जाता है। अगर
आप निर्दिष्ट करें +i (++इंटरैक्टिव) विकल्प, इसके विपरीत, शेल कभी भी अंदर नहीं जाता है
इंटरैक्टिव मोड।
यदि आप निर्दिष्ट करते हैं -l (--लॉग इन करें) विकल्प, शेल एक लॉगिन शेल के रूप में व्यवहार करता है।
RSI --नोप्रोफाइल, --norcfile, --प्रोफाइल, तथा --rcfile विकल्प निर्धारित करते हैं कि शेल कैसा है
प्रारंभ किया गया (विवरण के लिए नीचे देखें)।
ऊपर वर्णित विकल्पों के अतिरिक्त, आप उन विकल्पों को निर्दिष्ट कर सकते हैं जिन्हें निर्दिष्ट किया जा सकता है
सेट में निर्मित करने के लिए.
यदि पहला ऑपरेंड है - और विकल्प तथा ऑपरेंड को अलग नहीं किया जाता है --,
पहले ऑपरेंड को नजरअंदाज कर दिया जाता है।
आरंभीकरण of यश
यश स्वयं को इस प्रकार प्रारंभ करता है:
1. यश सबसे पहले उस नाम का विश्लेषण करता है जिसके रूप में इसका आह्वान किया गया था। यदि नाम से शुरू होता है -, खोल
एक लॉगिन शेल के रूप में व्यवहार करता है। यदि नाम है sh (जैसे नामों सहित / बिन / श),
शेल POSIXly-सही मोड में चला जाता है।
2. यदि कोई ऑपरेंड नहीं दिया गया है और मानक इनपुट और मानक त्रुटि दोनों जुड़े हुए हैं
किसी टर्मिनल तक, शेल इंटरैक्टिव मोड में चला जाता है जब तक कि +i (++इंटरैक्टिव)
विकल्प निर्दिष्ट है।
3. जॉब नियंत्रण स्वचालित रूप से एक इंटरैक्टिव शेल में सक्षम होता है जब तक कि +m (++मॉनिटर)
विकल्प निर्दिष्ट है।
4. यश निम्नलिखित फ़ाइलों से कमांड पढ़ता है और निष्पादित करता है (जब तक कि वास्तविक और
शेल प्रक्रिया की प्रभावी उपयोगकर्ता आईडी भिन्न या वास्तविक और प्रभावी समूह हैं
शेल प्रक्रिया की आईडी भिन्न हैं):
1. यदि यह लॉगिन शेल के रूप में व्यवहार कर रहा है, तो शेल निर्दिष्ट फ़ाइल को पढ़ता है
--प्रोफाइल=फ़ाइल का नाम विकल्प जब तक कि --नोप्रोफाइल विकल्प निर्दिष्ट है या शेल
POSIXly-सही मोड में है।
अगर --प्रोफाइल=फ़ाइल का नाम विकल्प निर्दिष्ट नहीं है, शेल पढ़ता है ~/.yash_profile
डिफ़ॉल्ट रूप से।
2. यदि इंटरैक्टिव मोड में, शेल द्वारा निर्दिष्ट फ़ाइल को पढ़ता है
--rcfile=फ़ाइल का नाम विकल्प जब तक कि --norcfile विकल्प निर्दिष्ट है।
अगर --rcfile=फ़ाइल का नाम विकल्प निर्दिष्ट नहीं है, शेल
· पढ़ता है ~/.yashrc यदि POSIXly-सही मोड में नहीं है तो डिफ़ॉल्ट के रूप में; या
· के मान पर पैरामीटर विस्तार करता है लि पर्यावरण चर और
विस्तार परिणाम को पढ़ने के लिए फ़ाइल के नाम के रूप में मानता है
पॉज़िक्सली-सही मोड।
नोट
यश कभी भी स्वतः नहीं पढ़ता / Etc / प्रोफ़ाइल, /etc/yashrc, न ही ~ /। लाभकारी
वाक्य - विन्यास
शेल कमांड लाइन को लाइन दर लाइन पढ़ता है, पार्स करता है और निष्पादित करता है। यदि एक से अधिक है
एक लाइन पर कमांड, सभी कमांड को निष्पादित करने से पहले पार्स किया जाता है। यदि कोई आदेश जारी रहता है
अगली पंक्तियों में, शेल कमांड को पूरा करने के लिए पर्याप्त पंक्तियों को पढ़ता है। एक वाक्यविन्यास पर
त्रुटि, शेल न तो पढ़ता है और न ही कोई और कमांड निष्पादित करता है।
टोकन और खोजशब्दों
एक कमांड एक या अधिक टोकन से बना होता है। शेल सिंटैक्स में, a टोकन एक शब्द है कि
एक कमांड का हिस्सा है. आम तौर पर, टोकन को व्हाइटस्पेस, यानी स्पेस या से अलग किया जाता है
टैब वर्ण. कमांड प्रतिस्थापन या पैरामीटर विस्तार के अंदर रिक्त स्थान,
हालाँकि, टोकन अलग न करें।
निम्नलिखित प्रतीकों का शेल सिंटैक्स में विशेष अर्थ होता है और अधिकांश मामलों में अलग-अलग होते हैं
टोकन:
; और | < > ( ) [न्यूलाइन]
निम्नलिखित प्रतीक टोकन को अलग नहीं करते हैं, लेकिन वाक्यात्मक अर्थ रखते हैं:
$ ` \ " ' * ? [ # ~ = %
निम्नलिखित टोकन के रूप में माना जाता है खोजशब्दों यह उस संदर्भ पर निर्भर करता है जिसमें वे हैं
दिखाई देते हैं:
! { } मामला पूरा हो गया एलिफ अन्यथा ईएसएसी फाई
फ़ंक्शन के लिए यदि तब तक कुछ समय तक
एक टोकन को एक कीवर्ड के रूप में माना जाता है जब:
· यह किसी कमांड का पहला टोकन है,
· यह किसी अन्य कीवर्ड का अनुसरण करता है (सिवाय मामला, एसटी , तथा in), या
· यह एक कमांड का गैर-प्रथम टोकन है और इसे लिखने के लिए एक कीवर्ड माना जाता है
समग्र आदेश.
यदि कोई टोकन प्रारंभ होता है #, फिर # और अंत तक कोई भी निम्नलिखित वर्ण
लाइन को एक के रूप में माना जाता है टिप्पणी, जिसे सिंटैक्स पार्सिंग में पूरी तरह से नजरअंदाज कर दिया जाता है।
कोटेशन
यदि आप चाहते हैं कि रिक्त स्थान, विभाजक वर्ण, या ऊपर वर्णित कीवर्ड का इलाज किया जाए
सामान्य वर्णों की तरह, आपको उचित उद्धरण चिह्नों का उपयोग करके वर्णों को उद्धृत करना होगा।
उद्धरण चिह्नों को तब तक सामान्य वर्ण नहीं माना जाता जब तक कि वे स्वयं उद्धृत न किए गए हों।
आप निम्नलिखित तीन उद्धरण चिह्नों का उपयोग कर सकते हैं:
· एक बैकस्लैश (\) एक वर्ण को उद्धृत करता है जो तुरंत अनुसरण करता है।
बैकस्लैश के बारे में एकमात्र अपवाद वह मामला है जहां बैकस्लैश के बाद a आता है
नई पंक्ति। इस मामले में, दो वर्णों को एक के रूप में माना जाता है line सिलसिला बल्कि
एक नई पंक्ति उद्धृत की जा रही है। दो अक्षर इनपुट से हटा दिए गए हैं और दो
लाइन निरंतरता के आसपास की रेखाएं एक ही लाइन में संयोजित हो जाती हैं।
· एकल-उद्धरण चिह्नों की एक जोड़ी (') दूसरे को छोड़कर उनके बीच किसी भी अक्षर को उद्धृत करें
एकल-उद्धरण. ध्यान दें कि एकल-उद्धरण का उपयोग करके नई पंक्तियाँ उद्धृत की जा सकती हैं।
· दोहरे उद्धरण चिह्न (") एकल-उद्धरण की तरह हैं, लेकिन उनके कुछ अपवाद हैं:
पैरामीटर विस्तार, कमांड प्रतिस्थापन और अंकगणितीय विस्तार की व्याख्या इस प्रकार की जाती है
दोहरे उद्धरण चिह्नों के बीच भी सामान्य। दोहरे उद्धरण चिह्नों के बीच बैकस्लैश का इलाज किया जाता है
उद्धरण चिह्न के रूप में तभी जब इसका अनुसरण किया जाए $, `, ", \, या एक नई पंक्ति; अन्य
बैकस्लैश को सामान्य वर्ण के रूप में माना जाता है।
फर्जी नाम
कमांड बनाने वाले टोकन इसके अधीन हैं उर्फ प्रतिस्थापन. एक टोकन जो मेल खाता है
किसी उपनाम का नाम जिसे पहले ही परिभाषित किया जा चुका है, उसे उपनाम के मान से प्रतिस्थापित कर दिया जाता है
कमांड को पार्स करने से पहले.
जिन टोकन में उद्धरण होते हैं उन्हें उपनाम-प्रतिस्थापित नहीं किया जाता क्योंकि उपनाम नाम नहीं दिया जा सकता
उद्धरण चिह्न शामिल हैं. कीवर्ड और कमांड विभाजक वर्ण नहीं हैं
उपनाम-प्रतिस्थापित या तो।
उपनाम दो प्रकार के होते हैं: सामान्य उपनाम और वैश्विक उपनाम। ए साधारण उर्फ केवल कर सकते हैं
कमांड के पहले टोकन को प्रतिस्थापित करते समय a वैश्विक उर्फ के किसी भी भाग को प्रतिस्थापित कर सकता है
आज्ञा। वैश्विक उपनाम यश एक्सटेंशन हैं जिन्हें POSIX में परिभाषित नहीं किया गया है।
यदि किसी टोकन को सामान्य उपनाम के मान से उपनाम-प्रतिस्थापित किया जाता है जो a के साथ समाप्त होता है
रिक्त स्थान, अगला टोकन असाधारण रूप से सामान्य के लिए उपनाम प्रतिस्थापन के अधीन है
उपनाम.
उपनाम प्रतिस्थापन के परिणाम फिर से अन्य के लिए उपनाम प्रतिस्थापन के अधीन हैं
उपनाम (लेकिन उन उपनामों के लिए नहीं जो पहले ही लागू किए जा चुके हैं)।
आप अंतर्निहित उपनाम का उपयोग करके उपनाम परिभाषित कर सकते हैं और अंतर्निहित उपनाम का उपयोग करके हटा सकते हैं।
सरल आज्ञाओं
एक कमांड जो कीवर्ड टोकन से शुरू नहीं होता है वह है सरल आदेश. सरल आदेश
सरल आदेशों के निष्पादन में परिभाषित अनुसार निष्पादित किए जाते हैं।
यदि किसी साधारण कमांड के पहले और निम्नलिखित में से किसी भी संख्या में टोकन का रूप है
नाम=मूल्य, उन्हें परिवर्तनीय असाइनमेंट के रूप में व्याख्या किया जाता है। एक वेरिएबल नाम में शामिल होना चाहिए
एक या अधिक अक्षर, अंक और/या रेखांकन (_) और किसी अंक से प्रारंभ नहीं होना चाहिए.
पहला टोकन जो एक वैरिएबल असाइनमेंट नहीं है उसे कमांड नाम और सभी के रूप में माना जाता है
निम्नलिखित टोकन (उनके पास फॉर्म है या नहीं नाम=मूल्य) कमांड तर्क के रूप में।
प्रपत्र का एक परिवर्तनीय असाइनमेंट था=(टोकन) किसी सरणी को असाइनमेंट के रूप में समझा जाता है।
आप कोष्ठकों की एक जोड़ी के बीच किसी भी संख्या में टोकन लिख सकते हैं। टोकन को अलग किया जा सकता है
न केवल रिक्त स्थान और टैब द्वारा बल्कि नई पंक्तियों द्वारा भी।
पाइप लाइनें
A पाइपलाइन एक या अधिक सरल कमांड, कंपाउंड कमांड और/या का एक क्रम है
फ़ंक्शन परिभाषाएँ जिन्हें अलग किया गया है |.
एक पाइपलाइन जिसमें एक से अधिक उपकमांड हैं, प्रत्येक उपकमांड को निष्पादित करके निष्पादित की जाती है
एक उपकोश में पाइपलाइन एक साथ। सिवाय प्रत्येक उपकमांड का मानक आउटपुट
अंतिम को अगले उपकमांड के मानक इनपुट पर पुनर्निर्देशित किया जाता है। मानक
पहले उपकमांड का इनपुट और अंतिम उपकमांड का मानक आउटपुट नहीं हैं
पुनर्निर्देशित पाइपलाइन की निकास स्थिति अंतिम उपकमांड की है।
एक पाइपलाइन को इसके पहले लगाया जा सकता है !, जिस स्थिति में पाइपलाइन की निकास स्थिति है
औंधा: यदि अंतिम उपकमांड 1 है, तो पाइपलाइन की निकास स्थिति 0 है, और 0 है
अन्यथा।
नोट
जब एक पाइपलाइन का निष्पादन समाप्त हो जाता है, तो कम से कम अंतिम का निष्पादन समाप्त हो जाता है
उपकमांड समाप्त हो गया है क्योंकि अंतिम उपकमांड की निकास स्थिति उसे परिभाषित करती है
पूरी पाइपलाइन. हालाँकि, अन्य उपकमांडों का निष्पादन अभी समाप्त नहीं हुआ है
तब। दूसरी ओर, पाइपलाइन का निष्पादन उसके तुरंत बाद समाप्त नहीं हो सकता है
अंतिम उपकमांड समाप्त हो गया क्योंकि शेल निष्पादन के लिए प्रतीक्षा करना चुन सकता है
अन्य उपकमांडों को समाप्त करने के लिए।
नोट
POSIX मानक वर्तमान शेल में किसी भी उपकमांड को निष्पादित करने की अनुमति देता है
उपकोश की तुलना में, हालाँकि यश ऐसा नहीं करता है।
और/या सूचियों
An और / या सूची एक या अधिक पाइपलाइनों द्वारा अलग किया गया क्रम है && or ||.
कुछ पाइपलाइनों को सशर्त रूप से निष्पादित करके एक और/या सूची निष्पादित की जाती है। पहला
पाइपलाइन हमेशा निष्पादित होती है. अन्य पाइपलाइनें या तो निष्पादित हैं या निष्पादित नहीं हैं
पिछली पाइपलाइनों की निकास स्थिति के अनुसार।
· यदि दो पाइपलाइनों को अलग किया जाता है && और पहली पाइपलाइन की निकास स्थिति है
शून्य, दूसरी पाइपलाइन निष्पादित की गई है।
· यदि दो पाइपलाइनों को अलग किया जाता है || और पहली पाइपलाइन की निकास स्थिति नहीं है
शून्य, दूसरी पाइपलाइन निष्पादित की गई है।
· अन्य मामलों में, और/या सूची का निष्पादन समाप्त हो जाता है: दूसरा और कोई भी शेष
पाइपलाइनों का क्रियान्वयन नहीं किया गया है।
किसी और/या सूची की निकास स्थिति निष्पादित की गई अंतिम पाइपलाइन की स्थिति है।
आम तौर पर, और/या सूची को अर्धविराम, एम्परसेंड, या नई पंक्ति द्वारा समाप्त किया जाना चाहिए। देखना
कमांड विभाजक और अतुल्यकालिक कमांड।
आदेश विभाजक और अतुल्यकालिक आज्ञाओं
शेल का संपूर्ण इनपुट a द्वारा अलग की गई किसी भी संख्या और/या सूचियों से बना होना चाहिए
अर्धविराम या एम्परसेंड. यदि इसका अनुसरण किया जाता है तो एक समाप्ति अर्धविराम छोड़ा जा सकता है ;;, ),
या एक नई पंक्ति. अन्यथा, और/या सूची को अर्धविराम या एम्परसेंड द्वारा समाप्त किया जाना चाहिए।
यदि किसी और/या सूची को अर्धविराम द्वारा समाप्त किया जाता है, तो इसे समकालिक रूप से निष्पादित किया जाता है: शेल
अगली और/या सूची निष्पादित करने से पहले और/या सूची के समाप्त होने की प्रतीक्षा करता है। यदि एक और/या
सूची को एम्परसेंड द्वारा समाप्त किया जाता है, इसे अतुल्यकालिक रूप से निष्पादित किया जाता है: के निष्पादन के बाद
और/या सूची प्रारंभ हो जाती है, अगली और/या सूची तुरंत निष्पादित हो जाती है। एक अतुल्यकालिक
और/या सूची को हमेशा एक उपकोश में निष्पादित किया जाता है और इसकी निकास स्थिति शून्य होती है।
यदि शेल कार्य नियंत्रण नहीं कर रहा है, तो एसिंक्रोनस और/या सूची का मानक इनपुट
स्वचालित रूप से /dev/null पर पुनर्निर्देशित हो जाता है। और/या सूची के सिग्नल हैंडलर
SIGINT और SIGQUIT सिग्नल को सिग्नल को "अनदेखा" करने के लिए सेट किया गया है ताकि इसका निष्पादन हो सके
और/या सूची को उन संकेतों द्वारा रोका नहीं जा सकता। (POSIXly-सही मोड में, मानक
इनपुट को पुनर्निर्देशित किया जाता है यदि और केवल यदि शेल इंटरैक्टिव है, चाहे काम कुछ भी हो
नियंत्रण चालू है. इसके अलावा, कार्य नियंत्रण होने पर भी SIGINT और SIGQUIT संकेतों को नजरअंदाज कर दिया जाता है
पर।)
जब किसी एसिंक्रोनस और/या सूची का निष्पादन शुरू किया जाता है, तो शेल उसे याद रखता है
प्रक्रिया आईडी. आप इसका संदर्भ लेकर आईडी प्राप्त कर सकते हैं ! विशेष पैरामीटर. आप प्राप्त कर सकते हैं
नौकरियों और प्रतीक्षा का उपयोग करके अतुल्यकालिक सूची की वर्तमान और निकास स्थिति भी देखें
अंतर्निर्मित।
यौगिक आज्ञाओं
कंपाउंड कमांड आपको शेल कमांड निष्पादन का प्रोग्रामेटिक नियंत्रण प्रदान करते हैं।
समूहीकरण
ग्रुपिंग कमांड की एक सूची है जिसे एक साधारण कमांड के रूप में माना जाता है।
सामान्य समूहीकरण वाक्यविन्यास
{ आदेश...; }
उपकोश समूहीकरण वाक्यविन्यास
(आदेश...)
RSI { और } टोकन कीवर्ड हैं, जिन्हें अन्य टोकन से अलग किया जाना चाहिए। ( और
) हालाँकि, टोकन विशेष विभाजक हैं जिन्हें अलग करने की आवश्यकता नहीं है।
सामान्य ग्रुपिंग सिंटैक्स में, ग्रुपिंग में कमांड को करंट में निष्पादित किया जाता है
शंख। सबशेल ग्रुपिंग सिंटैक्स में, कमांड को एक नए सबशेल में निष्पादित किया जाता है।
POSIXly-सही मोड में, एक ग्रुपिंग में कम से कम एक कमांड होना चाहिए। यदि
शेल POSIXly-सही मोड में नहीं है, किसी ग्रुपिंग में कोई कमांड नहीं हो सकता है।
किसी ग्रुपिंग की निकास स्थिति ग्रुपिंग में अंतिम कमांड की होती है। यदि
ग्रुपिंग में कोई कमांड नहीं है, इसकी निकास स्थिति अंतिम निष्पादित कमांड की है
समूहीकरण से पहले.
If आदेश
यदि कमांड एक सशर्त शाखा निष्पादित करता है।
बेसिक इफ कमांड सिंटैक्स
if शर्त...; फिर परिवर्तन...; fi
अन्य खंड के साथ सिंटेक्स
if शर्त...; फिर परिवर्तन...; अन्य परिवर्तन...; fi
एलिफ क्लॉज के साथ सिंटैक्स
if शर्त...; फिर परिवर्तन...; elif शर्त...; फिर परिवर्तन...; fi
एलिफ क्लॉज के साथ सिंटैक्स
if शर्त...; फिर परिवर्तन...; elif शर्त...; फिर परिवर्तन...; अन्य परिवर्तन...; fi
सभी सिंटैक्स के लिए, if कमांड का निष्पादन इसके निष्पादन से शुरू होता है
शर्त जो आदेश अनुसरण करते हैं if टोकन. यदि हालत की निकास स्थिति
आदेश शून्य है, स्थिति को "सत्य" माना जाता है। इस मामले में, परिवर्तन
जो आदेश अनुसरण करते हैं फिर टोकन निष्पादित होते हैं और if कमांड का निष्पादन होता है
ख़त्म. यदि शर्त आदेशों की निकास स्थिति गैर-शून्य है, तो स्थिति है
"झूठा" माना जाता है। इस मामले में, शर्त अगले एलिफ क्लॉज के लिए आदेश
निष्पादित किया जाता है और निकास स्थिति का परीक्षण उपरोक्त तरीके से किया जाता है। अगर वहाँ कोई नहीं है
एलिफ क्लॉज, द परिवर्तन जो आदेश अनुसरण करते हैं अन्य टोकन निष्पादित किए जाते हैं और
if कमांड का निष्पादन समाप्त हो गया है। यदि कोई अन्य खंड भी नहीं है, तो निष्पादन
यदि आदेश अभी समाप्त होता है।
एक if कमांड में एक से अधिक elif-then क्लॉज हो सकते हैं।
यदि कमांड की निकास स्थिति है परिवर्तन आदेश जो क्रियान्वित किये गये।
यदि नहीं तो निकास स्थिति शून्य है परिवर्तन आदेशों को क्रियान्वित किया गया, अर्थात सभी शर्तें
झूठे थे और कोई अन्य खंड नहीं था।
जबकि और जब तक छोरों
जबकि लूप और जब तक लूप शर्त के साथ सरल लूप हैं।
जबकि लूप सिंटैक्स
जब शर्त...; do परिवर्तन...; किया
लूप सिंटेक्स तक
जब तक शर्त...; do परिवर्तन...; किया
यदि शेल POSIXly-सही मोड में नहीं है, तो आप इसे छोड़ सकते हैं शर्त और / या
परिवर्तन थोड़ी देर/लूप तक के आदेश।
थोड़ी देर के लूप का निष्पादन निष्पादित करके शुरू किया जाता है शर्त आदेश. यदि
की निकास स्थिति शर्त आदेश शून्य है, शेल निष्पादित करता है परिवर्तन आज्ञाओं
और के निष्पादन पर लौटता है शर्त आदेश। NS शर्त और परिवर्तन
की निकास स्थिति तक आदेशों को बार-बार निष्पादित किया जाता है शर्त आदेश है
शून्येतर.
नोट
RSI परिवर्तन यदि का पहला निष्पादन होता है तो कमांड बिल्कुल भी निष्पादित नहीं होते हैं शर्त
कमांड एक गैर-शून्य निकास स्थिति उत्पन्न करता है।
जब तक लूप को थोड़ी देर के लूप के समान ही निष्पादित किया जाता है, सिवाय शर्त के
दोहराने के लिए लूप को उलट दिया जाता है: द परिवर्तन बाहर निकलने की स्थिति होने पर कमांड निष्पादित होते हैं
la शर्त आदेश शून्य नहीं है.
थोड़ी देर/जब तक लूप की निकास स्थिति अंतिम निष्पादित की स्थिति है परिवर्तन आदेश।
निकास स्थिति शून्य है यदि परिवर्तन आदेश खाली हैं या बिल्कुल निष्पादित नहीं किए गए हैं।
के लिए पाश
लूप के लिए प्रत्येक में दिए गए मानों में से एक को निर्दिष्ट वेरिएबल के साथ कमांड दोहराता है
गोल।
लूप सिंटैक्स के लिए
एसटी VARNAME in शब्द...; do आदेश...; असफलता के करीब VARNAME do आदेश...; किया
RSI शब्द के बाद सूची in टोकन खाली हो सकता है, लेकिन अर्धविराम (या नई पंक्ति) पहले
la do उस स्थिति में भी टोकन की आवश्यकता होती है। शब्दs को कीवर्ड के रूप में नहीं माना जाता है, लेकिन
आपको विभाजक वर्णों को उद्धृत करने की आवश्यकता है (जैसे & और |) उन्हें एक भाग के रूप में शामिल करने के लिए
शब्द. यदि आप छोड़ देते हैं in टोकन और निम्नलिखित शब्दएस, आपको इसे भी छोड़ना होगा
के पहले अर्धविराम do टोकन. हालाँकि, शेल इसके बारे में शिकायत नहीं करता है
यदि POSIXly-सही मोड में नहीं है तो अर्धविराम का अस्तित्व। आदेश सूची हो सकती है
यदि POSIXly-सही मोड में नहीं है तो खाली।
RSI VARNAME POSIXly-सही मोड में एक पोर्टेबल (केवल ASCII) नाम होना चाहिए।
फॉर लूप का निष्पादन विस्तार करके शुरू किया जाता है शब्दउसी तरह से जैसे कि
एक साधारण आदेश का निष्पादन. यदि in और शब्द टोकन छोड़े गए हैं, शेल
मानता है शब्द होने वाले टोकन "$@". इसके बाद, प्रत्येक शब्द के लिए निम्नलिखित कदम उठाए जाते हैं
विस्तारित (शब्दों के विस्तार के क्रम में):
1. जिस वेरिएबल का नाम है, उसे शब्द निर्दिष्ट करें VARNAME.
2. निष्पादित करें आदेशs.
POSIXly-सही मोड को छोड़कर प्रत्येक शब्द को स्थानीय चर के रूप में असाइन किया गया है। यदि
का विस्तार शब्दपरिणामस्वरूप, कोई शब्द नहीं निकला आदेशपर निष्पादित नहीं किया जाता है
सब।
फॉर लूप की निकास स्थिति अंतिम निष्पादित की स्थिति है आदेश. निकास स्थिति है
शून्य यदि आदेशs खाली नहीं हैं और बिल्कुल भी निष्पादित नहीं हैं। यदि आदेशखाली हैं,
निकास स्थिति फॉर लूप से पहले अंतिम निष्पादित कमांड की है।
मामला आदेश
केस कमांड निष्पादित करने के लिए चयनित कमांड से मेल खाने वाला एक पैटर्न निष्पादित करता है।
केस कमांड सिंटेक्स
मामला शब्द in केसआइटम... esac
केस आइटम सिंटेक्स
(पैटर्न उपयोग करें) आदेश...;;
RSI शब्द के बीच मामला और in टोकन बिल्कुल एक शब्द का होना चाहिए. शब्द नहीं है
एक कीवर्ड के रूप में माना जाता है, लेकिन आपको विभाजक वर्णों को उद्धृत करने की आवश्यकता है (जैसे & और |) करने के लिए
उन्हें भाग के रूप में शामिल करें शब्द। के बीच in और esac टोकन आप कोई भी डाल सकते हैं
केस मदों की संख्या (कोई भी नहीं हो सकती है)। आप पहले को छोड़ सकते हैं ( किसी केस आइटम का टोकन और
अंतिम ;; से पहले टोकन esac टोकन. यदि आखिरी आदेश एक केस का आइटम है
अर्धविराम द्वारा समाप्त होने पर, आप अर्धविराम को हटा भी सकते हैं। आदेशएक मामले में एस
आइटम खाली हो सकता है.
RSI पैटर्न उपयोग करें किसी मामले में आइटम एक या अधिक टोकन होते हैं जिनमें से प्रत्येक को एक द्वारा अलग किया जाता है | टोकन।
केस कमांड का निष्पादन सब्जेक्ट करने से शुरू होता है शब्द चार को
विस्तार. इसके बाद, प्रत्येक केस आइटम के लिए निम्नलिखित कदम उठाए जाते हैं (क्रमानुसार)।
उपस्थिति):
1. में प्रत्येक शब्द के लिए पैटर्न उपयोग करें, शब्द का विस्तार उसी प्रकार करें जैसे कि शब्द और
परीक्षण करें कि क्या विस्तारित पैटर्न विस्तारित शब्द से मेल खाता है। (यदि कोई पैटर्न मिलता है
जो शब्द से मेल खाता है, शेष पैटर्न का विस्तार नहीं किया गया है और न ही परीक्षण किया गया है, इसलिए कुछ
का पैटर्न उपयोग करें विस्तार नहीं किया जा सकता. यश इसमें पैटर्न का विस्तार और परीक्षण करता है
उपस्थिति का क्रम, लेकिन यह अन्य शैलों के मामले में नहीं हो सकता है।)
2. यदि इनमें से एक पैटर्न उपयोग करें से मेल खाता हुआ पाया गया शब्द पिछले चरण में,
आदेशइस मामले में आइटम निष्पादित होते हैं और पूरे केस आइटम का निष्पादन होता है
समाप्त होता है. अन्यथा, अगले केस आइटम पर आगे बढ़ें।
केस कमांड की निकास स्थिति होती है आदेशनिष्पादित किया गया है. निकास स्थिति है
यदि नहीं तो शून्य आदेशनिष्पादित किए गए, यानी, कोई केस आइटम नहीं थे, कोई मिलान नहीं था
पैटर्न पाया गया, या मिलान पैटर्न के साथ कोई आदेश संबद्ध नहीं थे।
POSIXly-सही मोड में, किसी केस आइटम में पहला पैटर्न नहीं हो सकता है esac (भले ही
आप इसे न छोड़ें ( टोकन)।
समारोह परिभाषा
फ़ंक्शन डेफिनिशन कमांड एक फ़ंक्शन को परिभाषित करता है।
फ़ंक्शन परिभाषा वाक्यविन्यास
funcname ( ) कंपाउंड_कमांडसमारोह funcname कंपाउंड_कमांडसमारोह funcname ( )
कंपाउंड_कमांड
बिना पहले सिंटैक्स में समारोह कीवर्ड, funcname कोई विशेष शामिल नहीं हो सकता
अर्धविराम और उद्धरण चिह्न जैसे वर्ण। दूसरे और तीसरे वाक्यविन्यास में, जो
POSIXly-सही मोड में उपयोग नहीं किया जा सकता, funcname चार विस्तारों के अधीन है
जब निष्पादित किया गया. POSIXly-सही मोड में, funcname पोर्टेबल (केवल ASCII) तक सीमित है
नाम.
जब एक फ़ंक्शन डेफिनिशन कमांड निष्पादित किया जाता है, तो एक फ़ंक्शन जिसका नाम होता है funcname is
उसके शरीर के अस्तित्व से परिभाषित किया गया है कंपाउंड_कमांड.
फ़ंक्शन डेफ़िनिशन कमांड को सीधे पुनर्निर्देशित नहीं किया जा सकता है। कोई भी पुनर्निर्देशन जो अनुसरण करता है
एक फ़ंक्शन परिभाषा के साथ जुड़े हुए हैं कंपाउंड_कमांड पूरे समारोह के बजाय
परिभाषा आदेश. में समारोह () { बिल्ली; } > / Dev / बातिल, उदाहरण के लिए, यह नहीं है समारोह () { बिल्ली; }
लेकिन { बिल्ली; } वह पुनर्निर्देशित है.
यदि फ़ंक्शन को इसके बिना परिभाषित किया गया था तो फ़ंक्शन परिभाषा की निकास स्थिति शून्य है
त्रुटियाँ, और अन्यथा गैर-शून्य।
पैरामीटर और चर
पैरामीटर्स स्ट्रिंग मान हैं जो पैरामीटर विस्तार में विस्तारित होते हैं। वहाँ तीन हैं
पैरामीटर के प्रकार: स्थितीय पैरामीटर, विशेष पैरामीटर और चर।
अवस्था का पैरामीटर
अवस्था का पैरामीटर ऐसे पैरामीटर हैं जिन्हें प्राकृतिक संख्याओं द्वारा पहचाना जाता है। अगर वहाँ
उदाहरण के लिए, तीन स्थितीय पैरामीटरों की पहचान इस प्रकार की जाती है 1, 2, तथा 3. आप कर सकते हैं
द्वारा स्थितीय मापदंडों की संख्या प्राप्त करें # विशेष पैरामीटर. * और @ विशेष
मापदंडों को सभी स्थितीय मापदंडों तक विस्तारित किया जाता है।
स्थितीय पैरामीटर शेल के कमांड लाइन तर्कों से प्रारंभ किए जाते हैं जब
शेल प्रारंभ हो गया है (कमांड लाइन तर्क देखें)। आरंभीकरण में, का क्रम
ऑपरेंड को स्थितीय मापदंडों के क्रम के रूप में संरक्षित किया जाता है।
जब शेल किसी फ़ंक्शन कॉल को निष्पादित करता है, तो स्थितीय पैरामीटर बदल दिए जाते हैं
फ़ंक्शन कॉल के लिए तर्क ताकि आप फ़ंक्शन के रहते हुए तर्कों तक पहुंच सकें
निष्पादित किया जा रहा है. जब स्थितीय पैरामीटर मूल मानों पर पुनर्स्थापित हो जाते हैं
फ़ंक्शन का निष्पादन समाप्त हो गया है.
स्थितीय मापदंडों को सेट और शिफ्ट जैसे अंतर्निहित कमांड द्वारा हेरफेर किया जा सकता है।
ध्यान दें कि 0 यह एक स्थितीय पैरामीटर नहीं बल्कि एक विशेष पैरामीटर है।
विशिष्ट पैरामीटर
विशिष्ट पैरामीटर प्रत्येक पैरामीटर को एक ही प्रतीक द्वारा पहचाना जाता है। वे नहीं हो सकते
उपयोगकर्ता द्वारा सीधे असाइन किया गया।
यश निम्नलिखित विशेष पैरामीटर प्रदान करता है:
0
शेल निष्पादन योग्य फ़ाइल या स्क्रिप्ट फ़ाइल का नाम जो निर्दिष्ट किया गया था
खोल का आह्वान.
#
वर्तमान स्थितीय मापदंडों की संख्या. मान एक गैर-ऋणात्मक पूर्णांक है.
$
शेल की प्रक्रिया आईडी. मान एक धनात्मक पूर्णांक है और इसे कभी भी बदला नहीं जाता है
उपकोशों में.
-
वर्तमान में सक्षम शेल विकल्प। मान वर्णमाला वर्णों का एक संयोजन है
ये वर्तमान में सक्षम एकल-वर्ण विकल्पों के नाम हैं जिन्हें निर्दिष्ट किया जा सकता है
शैल मंगलाचरण में. जब आप सक्षम करते हैं या सक्षम करते हैं तो मान सक्षम विकल्पों के परिवर्तनों को दर्शाता है
अंतर्निहित सेट का उपयोग करके विकल्पों को अक्षम करें।
?
अंतिम निष्पादित पाइपलाइन की निकास स्थिति। मान एक गैर-ऋणात्मक पूर्णांक है.
!
अंतिम निष्पादित एसिंक्रोनस सूची की प्रक्रिया आईडी।
*
यह विशेष पैरामीटर संपूर्ण स्थितीय पैरामीटर का प्रतिनिधित्व करता है। जब कोई नहीं है
स्थितीय पैरामीटर, इस विशेष पैरामीटर का मान खाली स्ट्रिंग है। कब
एक से अधिक स्थितीय पैरामीटर हैं, मान सभी का एक संयोजन है
स्थितीय पैरामीटर, जिनमें से प्रत्येक को निम्नानुसार अलग किया गया है:
· यदि आईएफएस वैरिएबल मौजूद है और इसका मान खाली नहीं है, स्थितीय पैरामीटर हैं
प्रत्येक को के मान के पहले अक्षर से अलग किया गया है आईएफएस चर।
· यदि आईएफएस वेरिएबल मौजूद है और उसका एक खाली मान है, स्थितीय पैरामीटर बस हैं
बिना किसी विभाजक के संयोजित।
· यदि आईएफएस वेरिएबल मौजूद नहीं है, स्थितिगत पैरामीटर प्रत्येक को ए द्वारा अलग किया जाता है
अंतरिक्ष चरित्र.
@
यह विशेष पैरामीटर जैसे संपूर्ण स्थितीय पैरामीटर का प्रतिनिधित्व करता है * विशेष
उपरोक्त पैरामीटर. दोनों के बीच का अंतर उस विस्तार का परिणाम है
दोहरे उद्धरण चिह्नों की एक जोड़ी के बीच होता है। यदि @ विशेष पैरामीटर है
दोहरे उद्धरण चिह्नों के अंदर विस्तारित, स्थितीय पैरामीटर इसके बजाय फ़ील्ड-विभाजित होते हैं
संयोजित (उद्धरण के बावजूद)। यदि कोई स्थितीय पैरामीटर नहीं हैं, तो
विस्तार से खाली शब्द के बजाय कोई शब्द नहीं निकलता।
· जब कोई स्थितीय पैरामीटर न हों, तो कमांड शब्द गूंज 1 "$@" 2 is
तीन शब्दों तक विस्तारित गूंज, 1, तथा 2.
· जब स्थितीय पैरामीटर तीन शब्द होते हैं 1, 2 2, तथा 3, आदेश शब्द
गूंज "$@" चार शब्दों तक विस्तारित है गूंज, 1, 2 2, तथा 3, और शब्द गूंज
"ए$@बी" चार शब्दों के लिए गूंज, a1, 2 2, तथा 3b.
चर
चर वे पैरामीटर हैं जिनके लिए उपयोगकर्ता मान निर्दिष्ट कर सकता है। प्रत्येक वेरिएबल का एक नाम होता है
इसकी पहचान करता है और एक मूल्य जो विस्तार के परिणामों को परिभाषित करता है।
एक वेरिएबल नाम एक या अधिक अल्फ़ान्यूमेरिक वर्णों और अंडरस्कोर से बना होता है (_)।
नाम किसी अंक से प्रारंभ नहीं हो सकता. नाम के आधार पर अन्य वर्णों का उपयोग किया जा सकता है
आपके पर्यावरण का अंतर्राष्ट्रीयकरण समर्थन।
वेरिएबल जो बाहरी कमांड में निर्यात किए जाते हैं, कहलाते हैं वातावरण चर. वे
शेल द्वारा लागू किए गए सभी बाहरी आदेशों को पारित कर दिया जाता है। वेरिएबल शेल में पास हो गए
मंगलाचरण स्वचालित रूप से निर्यात किया जाएगा.
आप एक साधारण कमांड के साथ-साथ अंतर्निहित टाइपसेट द्वारा वेरिएबल्स को असाइन कर सकते हैं। तुम कर सकते हो
अनसेट बिल्ट-इन का उपयोग करके वेरिएबल हटाएं।
चर प्रयुक्त by la खोल
निम्नलिखित चर का उपयोग शेल द्वारा विशेष उद्देश्यों के लिए किया जाता है।
CDPATH
इस वेरिएबल का उपयोग गंतव्य निर्देशिका को खोजने के लिए अंतर्निहित सीडी द्वारा किया जाता है।
कॉलम
यह वेरिएबल की चौड़ाई (वर्ण स्तंभों की संख्या) निर्दिष्ट करता है
टर्मिनल स्क्रीन. मान पंक्ति-संपादन के प्रदर्शन को प्रभावित करता है।
COMMAND_NOT_FOUND_HANDLER
जब शेल को निष्पादित करने के लिए कोई कमांड नहीं मिल पाता है, तो इस वेरिएबल का मान होता है
इसके बजाय व्याख्या और कार्यान्वयन किया गया। आप शेल की त्रुटि प्रबंधन को ओवरराइड कर सकते हैं
इस चर के साथ व्यवहार. विवरण के लिए सरल आदेशों का निष्पादन देखें।
यह सुविधा POSIXly-सही मोड में अक्षम है।
डिरस्टैक
इस ऐरे वेरिएबल का उपयोग शेल द्वारा निर्देशिका स्टैक सामग्री को संग्रहीत करने के लिए किया जाता है। अगर
यदि आप इस वेरिएबल का मान संशोधित करते हैं, तो निर्देशिका स्टैक दूषित हो सकता है।
ECHO_STYLE
यह वेरिएबल अंतर्निहित इको के व्यवहार को निर्दिष्ट करता है।
लि
जब एक इंटरैक्टिव शेल को POSIXly-सही मोड में प्रारंभ किया जाता है, तो का मान
इस वेरिएबल का उपयोग इनिशियलाइज़ेशन फ़ाइल को खोजने के लिए किया जाता है। यश का आरंभीकरण देखें।
एफसीईडीआईटी
यह वेरिएबल एक संपादक प्रोग्राम को निर्दिष्ट करता है जिसका उपयोग कमांड लाइन को संपादित करने के लिए किया जाता है
अंतर्निहित एफसी का निष्पादन।
सम्भाला
शेल को ऐसा न करने के लिए कहने के लिए इस वेरिएबल को कमांड-नॉट-फ़ाउंड हैंडलर में सेट किया जा सकता है
एक और त्रुटि संदेश उत्पन्न करें. विवरण के लिए सरल आदेशों का निष्पादन देखें।
हिस्टफाइल
यह वेरिएबल कमांड इतिहास को सहेजने के लिए फ़ाइल का पथनाम निर्दिष्ट करता है।
हिस्ट्रमडुप
यह वेरिएबल जांचे जाने वाले कमांड इतिहास आइटम की संख्या निर्दिष्ट करता है
नकल. जब शेल कमांड इतिहास में एक नया इतिहास आइटम जोड़ रहा है,
यदि कुछ नवीनतम हों n आइटम में नई जैसी ही सामग्री होती है, फिर
नया जोड़ने से पहले डुप्लिकेट मौजूदा आइटम इतिहास से हटा दिए जाते हैं,
जहां n इस चर का मान है.
यदि इस वेरिएबल का मान है 1उदाहरण के लिए, सबसे हालिया आइटम हटा दिया गया है
जब कोई नया आइटम जिसमें समान सामग्री हो, जोड़ा जाता है।
से भी पुरानी वस्तुएँ nहाल का आइटम हटाया नहीं गया है. यदि कोई आइटम नहीं हटाया जाता है
इस वेरिएबल का मान है 0. यदि वेरिएबल है तो सभी आइटम हटाने के अधीन हैं
मूल्य के मूल्य से अधिक या उसके बराबर है हिस्टसाइज़ चर।
हिस्टसाइज़
यह वेरिएबल कमांड इतिहास में आइटम्स की अधिकतम संख्या निर्दिष्ट करता है।
होम
यह वेरिएबल उपयोगकर्ता की होम निर्देशिका का पथनाम निर्दिष्ट करता है और प्रभावित करता है
टिल्ड विस्तार और सीडी बिल्ट-इन के परिणाम।
आईएफएस
यह चर फ़ील्ड विभाजन में उपयोग किए जाने वाले विभाजकों को निर्दिष्ट करता है। परिवर्तनशील मान है
जब एक स्पेस, एक टैब और एक नई लाइन के तीन अक्षरों को आरंभ किया जाता है
शेल शुरू हो गया है.
लैंग, LC_ALL, एलसी_COLLATE, एलसी_CTYPE, एलसी_MESSAGES, LC_मौद्रिक, एलसी_NUMERIC, एलसी_TIME
ये वेरिएबल एक स्थान निर्दिष्ट करते हैं जिसमें शेल चलता है। शैल चुनता है
फ़ाइल इनपुट/आउटपुट एन्कोडिंग, त्रुटि संदेश भाषा, आदि के अनुसार
स्थान निर्दिष्ट.
जब तक शेल इंटरैक्टिव न हो और POSIXly-सही मोड में न हो, का मान
la एलसी_CTYPE वेरिएबल पर तभी विचार किया जाता है जब शेल प्रारंभ होता है। एक बार खोल
का मान बदलते हुए आरंभ किया गया है एलसी_CTYPE पर कोई प्रभाव नहीं पड़ेगा
शैल का व्यवहार.
लिनेनो
इस वेरिएबल का मान स्वचालित रूप से उस पंक्ति संख्या पर सेट हो जाता है जिसमें
वर्तमान में निष्पादित कमांड फ़ाइल में दिखाई देता है।
इंटरएक्टिव शेल में, हर बार शेल पढ़ने पर लाइन नंबर 1 पर रीसेट हो जाता है
और एक कमांड निष्पादित करता है।
यदि आप इस वेरिएबल को असाइन करते हैं या हटाते हैं, तो यह अब लाइन नंबर प्रदान नहीं करेगा।
लाइनें
यह वेरिएबल टर्मिनल की ऊंचाई (वर्ण रेखाओं की संख्या) निर्दिष्ट करता है
स्क्रीन। मान पंक्ति-संपादन के प्रदर्शन को प्रभावित करता है।
मेल
यह वेरिएबल उस फ़ाइल का पथनाम निर्दिष्ट करता है जिसे मेल चेकिंग में चेक किया जाता है।
मेल चेक
यह वेरिएबल निर्दिष्ट करता है कि शेल को कितनी बार मेल चेकिंग करनी चाहिए। मूल्य है
सेकंड में एक धनात्मक पूर्णांक के रूप में निर्दिष्ट किया जाना है। मान को प्रारंभ किया गया है
का डिफ़ॉल्ट मान 600 जब शेल प्रारंभ होता है.
मेलपथ
यह वेरिएबल उन फ़ाइलों के पथनाम निर्दिष्ट करता है जिन्हें मेल चेकिंग में चेक किया जाता है।
एनएलएसपीएटीएच
POSIX मानक निर्धारित करता है कि इस चर का मान पथनाम निर्दिष्ट करता है
स्थानीय-निर्भर संदेश डेटा फ़ाइलों के टेम्पलेट, लेकिन यश इसका उपयोग नहीं करता है।
ओल्डपीडब्ल्यूडी
जब आप बदलते हैं तो यह वेरिएबल पिछले कार्यशील निर्देशिका पथ पर सेट हो जाता है
सीडी या अन्य बिल्ट-इन का उपयोग करके कार्यशील निर्देशिका। यह वैरिएबल किसके द्वारा निर्यात किया जाता है
चूक।
ऑप्टारजी
जब getopts बिल्ट-इन एक विकल्प को पार्स करता है जो एक तर्क लेता है, तो तर्क
इस वेरिएबल को मान निर्दिष्ट किया गया है।
ऑप्टिंड
इस चर का मान उस विकल्प के सूचकांक को निर्दिष्ट करता है जिसे पार्स किया जाना है
अगले गेटऑप्ट्स द्वारा अंतर्निहित निष्पादन। इस वेरिएबल को आरंभीकृत किया गया है 1 जब
शेल शुरू हो गया है.
पथ
यह वेरिएबल उन पथों को निर्दिष्ट करता है जो कमांड सर्च में कमांड के लिए खोजे जाते हैं।
पीपीआईडी
इस वेरिएबल का मान शेल की मूल प्रक्रिया की प्रक्रिया आईडी है, जो
एक धनात्मक पूर्णांक है. शेल प्रारंभ होने पर यह वेरिएबल प्रारंभ किया जाता है।
जब शेल एक नया उपकोश बनाता है तो मान नहीं बदला जाता है।
PROMPT_COMMAND
शेल प्रत्येक को प्रिंट करने से पहले इस वेरिएबल के मान की व्याख्या और निष्पादन करता है
यदि शेल इंटरैक्टिव है और POSIXly-सही मोड में नहीं है तो कमांड प्रॉम्प्ट करें।
यह व्यवहार कमांड को निष्पादित करने के बराबर है विकसित करना -i --
"${PROMPT_COMMAND-}" प्रत्येक कमांड प्रॉम्प्ट से पहले, लेकिन इसकी निकास स्थिति नहीं होती है
के विस्तार को प्रभावित करता है ? अगले आदेश में विशेष पैरामीटर.
PS1
यह वेरिएबल एक इंटरैक्टिव द्वारा मुद्रित मुख्य कमांड प्रॉम्प्ट स्ट्रिंग को निर्दिष्ट करता है
शंख। वैरिएबल मान के प्रारूप के लिए संकेत देखें। मान प्रारंभ किया गया है
सेवा मेरे \$ जब शेल प्रारंभ होता है. (POSIXly-सही मोड में, प्रारंभिक मान
या तो $ or # इस पर निर्भर करता है कि शेल प्रक्रिया की प्रभावी उपयोगकर्ता आईडी है या नहीं
शून्य है या नहीं.)
पीएस 1 आर
यह वेरिएबल दाईं ओर मुद्रित सहायक प्रॉम्प्ट स्ट्रिंग को निर्दिष्ट करता है
जब आप किसी इंटरैक्टिव शेल में कमांड लाइन इनपुट करते हैं तो कर्सर। के लिए संकेत देखें
परिवर्तनीय मान का प्रारूप.
पीएस1एस
यह वेरिएबल आपके द्वारा दर्ज किए गए कमांड स्ट्रिंग्स की फ़ॉन्ट शैली निर्दिष्ट करता है
इंटरैक्टिव खोल. वैरिएबल मान के प्रारूप के लिए संकेत देखें।
PS2
यह वेरिएबल इस प्रकार है PS1 परिवर्तनीय, लेकिन इसका उपयोग दूसरे और के लिए किया जाता है
एक कमांड की निम्नलिखित पंक्तियाँ जो एक पंक्ति से अधिक लंबी हैं। के लिए संकेत देखें
परिवर्तनीय मान का प्रारूप. मान को प्रारंभ किया गया है > जब खोल है
शुरू कर दिया है।
पीएस 2 आर
यह वेरिएबल इस प्रकार है पीएस 1 आर परिवर्तनीय, लेकिन इसका उपयोग कब किया जाता है PS2 प्रयोग किया जाता है। देखना
वैरिएबल मान के प्रारूप के लिए संकेत.
पीएस2एस
यह वेरिएबल इस प्रकार है पीएस1एस परिवर्तनीय, लेकिन इसका उपयोग कब किया जाता है PS2 प्रयोग किया जाता है। देखना
वैरिएबल मान के प्रारूप के लिए संकेत.
PS4
इस वेरिएबल का मान प्रत्येक कमांड ट्रेस आउटपुट से पहले मुद्रित होता है जब
xtrace विकल्प सक्षम है. मान पैरामीटर विस्तार, आदेश के अधीन है
प्रतिस्थापन, अंकगणितीय विस्तार। यदि आप बैकस्लैश नोटेशन का भी उपयोग कर सकते हैं
शेल POSIXly-सही मोड में नहीं है। मान को प्रारंभ किया गया है + जब
शेल शुरू हो गया है.
पीएस4एस
यह वेरिएबल इस प्रकार है पीएस1एस परिवर्तनीय, लेकिन इसका उपयोग कब किया जाता है PS4 प्रयोग किया जाता है। तुम कर सकते हो
कमांड ट्रेस आउटपुट की फ़ॉन्ट शैली को संशोधित करने के लिए इस वेरिएबल का उपयोग करें।
लोक निर्माण विभाग
इस चर का मान वर्तमान कार्यशील निर्देशिका का पथनाम है।
शेल प्रारंभ होने पर मान सेट किया जाता है और हर बार कार्यशील निर्देशिका को रीसेट किया जाता है
सीडी या अन्य बिल्ट-इन द्वारा बदला जाता है। यह वेरिएबल डिफ़ॉल्ट रूप से निर्यात किया जाता है.
RANDOM
आप यादृच्छिक संख्याएँ प्राप्त करने के लिए इस चर का उपयोग कर सकते हैं। इस वेरिएबल का मान है a
0 और 32767 (समावेशी) के बीच समान रूप से वितरित यादृच्छिक पूर्णांक। आपको मिल जायेगा
हर बार जब चर का विस्तार किया जाता है तो एक अलग संख्या।
आप एक गैर-नकारात्मक पूर्णांक निर्दिष्ट करके यादृच्छिक संख्याओं का "बीज" सेट कर सकते हैं
परिवर्तनशील.
यदि आप इस चर को हटा देते हैं, तो यह यादृच्छिक संख्या जनरेटर के रूप में काम नहीं करेगा।
यदि शेल को POSIXly-सही मोड में लागू किया गया था, तो यह वेरिएबल काम नहीं करता है
एक यादृच्छिक संख्या जनरेटर के रूप में।
कार्यकाल
यह वेरिएबल उस टर्मिनल के प्रकार को निर्दिष्ट करता है जिसमें शेल चल रहा है।
मान पंक्ति-संपादन के व्यवहार को प्रभावित करता है।
YASH_AFTER_CD
शेल प्रत्येक बार के बाद इस चर के मान की व्याख्या और निष्पादन करता है
शेल की कार्यशील निर्देशिका को सीडी या अन्य बिल्ट-इन द्वारा बदल दिया जाता है। यह व्यवहार
कमांड निष्पादित करने के बराबर है विकसित करना -i -- "${YASH_AFTER_CD-}" के बाद
निर्देशिका बदल दी गई थी.
YASH_LOADPATH
यह वेरिएबल उन निर्देशिकाओं को निर्दिष्ट करता है जिनमें डॉट अंतर्निहित स्क्रिप्ट फ़ाइल की खोज करता है।
एक से अधिक निर्देशिकाओं को जैसे कोलन द्वारा अलग करके निर्दिष्ट किया जा सकता है
पथ चर। जब शेल प्रारंभ किया जाता है, तो इस वेरिएबल को प्रारंभ किया जाता है
उस निर्देशिका का पथनाम जहां सामान्य स्क्रिप्ट फ़ाइलें स्थापित हैं।
YASH_LE_TIMEOUT
यह वेरिएबल निर्दिष्ट करता है कि शेल को अगले संभावित इनपुट के लिए कितनी देर तक प्रतीक्षा करनी चाहिए
टर्मिनल से जब इसे एक अस्पष्ट नियंत्रण अनुक्रम का सामना करना पड़ा
पंक्ति-संपादन. मान को मिलीसेकंड में निर्दिष्ट किया जाना चाहिए. यदि आप परिभाषित नहीं करते हैं
इस चर में, 100 मिलीसेकंड का डिफ़ॉल्ट मान माना जाता है।
यश_संस्करण
जब शेल होता है तो मान को शेल के संस्करण संख्या में प्रारंभ किया जाता है
शुरू कर दिया है।
Arrays
An सरणी एक वेरिएबल है जिसमें शून्य या अधिक स्ट्रिंग्स हैं। एक के स्ट्रिंग मान
सरणी की पहचान प्राकृतिक संख्याओं (जैसे स्थितीय पैरामीटर) द्वारा की जाती है।
आप एक साधारण कमांड के साथ-साथ सरणी का उपयोग करके किसी सरणी में मान निर्दिष्ट कर सकते हैं
अंतर्निहित. आप सरणियों को हटाने के लिए अनसेट बिल्ट-इन का उपयोग कर सकते हैं।
सारणियों को सारणियों के रूप में निर्यात नहीं किया जा सकता। जब कोई सरणी निर्यात की जाती है, तो इसे एक के रूप में माना जाता है
सामान्य चर जिसका मान सभी अलग-अलग सरणी मानों का एक संयोजन है
एक कोलन द्वारा.
POSIXly-सही मोड में ऐरे समर्थित नहीं हैं।
शब्द विस्तार
शब्द विस्तार किसी शब्द के भाग को किसी अन्य विशेष स्ट्रिंग से प्रतिस्थापित करना है। वहाँ हैं
सात प्रकार के शब्द विस्तार:
1. टिल्डे विस्तार
2. पैरामीटर विस्तार
3. कमांड प्रतिस्थापन
4. अंकगणितीय विस्तार
5. ब्रेस विस्तार
6. क्षेत्र विभाजन
7. पथनाम विस्तार (ग्लोबिंग)
इस प्रकार के विस्तार ऊपर निर्दिष्ट क्रम में किए जाते हैं।
टिल्डे विस्तार, पैरामीटर विस्तार, कमांड प्रतिस्थापन और अंकगणितीय विस्तार हैं
इसको कॉल किया गया चार विस्तार.
टिल्ड विस्तार
In टिल्ड विस्तार, शब्दों के वे भाग जो टिल्ड से शुरू होते हैं (~) के साथ प्रतिस्थापित किया जाता है
विशेष पथनाम. प्रत्येक शब्द का जो भाग प्रतिस्थापित किया जाता है वह आरंभ से होता है
शब्द, जो एक टिल्ड है, पहले स्लैश तक (लेकिन शामिल नहीं) (/) शब्द में। अगर
शब्द में स्लैश नहीं है, पूरा शब्द प्रतिस्थापित है। यदि कोई पात्र है
प्रतिस्थापित भाग उद्धृत किया गया है, शब्द पर टिल्ड विस्तार नहीं किया गया है।
विस्तार के परिणाम प्रतिस्थापित भाग के प्रारूप द्वारा निर्धारित होते हैं:
~
के मान के साथ एक एकल टिल्ड प्रतिस्थापित किया जाता है होम चर।
~उपयोगकर्ता नाम
उपयोगकर्ता नाम के बाद आने वाले टिल्ड को उपयोगकर्ता के घर के पथनाम से प्रतिस्थापित किया जाता है
निर्देशिका.
~+
~+ के मान से प्रतिस्थापित किया जाता है लोक निर्माण विभाग चर।
~-
~- के मान से प्रतिस्थापित किया जाता है ओल्डपीडब्ल्यूडी चर।
~+n, ~-n
जहां n एक गैर-ऋणात्मक पूर्णांक है. इस प्रकार के टिल्ड विस्तार से पथनाम प्राप्त होता है
जिसकी एक निर्देशिका ~+n or ~-n निर्देशिका स्टैक में अनुक्रमणिका है।
जब टिल्ड विस्तार एक चर असाइनमेंट के मूल्य पर किया जाता है जो उस दौरान होता है
एक साधारण कमांड के निष्पादन में, मान को शब्दों की कोलन से अलग की गई सूची के रूप में माना जाता है
और वे शब्द टिल्ड विस्तार के अधीन हैं। उदाहरण के लिए, वैरिएबल असाइनमेंट
वार=~/ए:~/बी:~/सी
के बराबर है
VAR=/home/foo/a:/home/foo/b:/home/foo/c
यदि का मान होम परिवर्तनशील है /घर/फू.
POSIX मानक यह निर्धारित नहीं करता है कि जब शेल का सामना होता है तो उसे कैसा व्यवहार करना चाहिए
टिल्ड विस्तार के दौरान त्रुटि (जैसे, जब होम वैरिएबल परिभाषित नहीं है)। यश चुपचाप
टिल्ड विस्तार के दौरान किसी भी त्रुटि को अनदेखा करता है; शब्द का वह भाग जिसे प्रतिस्थापित किया जाएगा
अक्षुण्ण छोड़ दिया गया है.
POSIXly-सही मोड में, टिल्ड विस्तार के प्रारूपों का समर्थन करता है ~ और ~उपयोगकर्ता नाम केवल.
प्राचल विस्तार
प्राचल विस्तार एक पैरामीटर के मान तक विस्तारित होता है।
विशिष्ट, सरल पैरामीटर विस्तार का सिंटैक्स है ${प्राचल}, जिसका विस्तार होता है
पैरामीटर का मान जिसका नाम है प्राचल. आप ब्रेसिज़ को हटा सकते हैं (जैसे, $प्राचल)
if
· प्राचल एक विशेष पैरामीटर है,
· प्राचल एक स्थितीय पैरामीटर है जिसका सूचकांक एक अंकीय पूर्णांक है, या
· प्राचल एक चर है और पैरामीटर विस्तार के बाद कोई वर्ण नहीं आता है
जिसका उपयोग एक वैरिएबल नाम के भाग के रूप में किया जा सकता है। उदाहरण के लिए, ${पथ}-नाम समकक्ष है
सेवा मेरे $पथ-नाम, परंतु ${पथ}नाम और $पथनाम अलग है।
If प्राचल कोई विशेष पैरामीटर, स्थितीय पैरामीटर और चर नहीं है, यह एक है
वक्य रचना त्रुटि। (यश के अलावा कुछ शेल ऐसे मामले को विस्तार त्रुटि के रूप में मान सकते हैं।)
यदि अनसेट विकल्प अक्षम है और प्राचल एक अपरिभाषित चर है, यह एक है
विस्तार त्रुटि. यदि अनसेट विकल्प सक्षम है, तो एक अपरिभाषित चर का विस्तार होता है
खाली स्ट्रिंग।
पैरामीटर विस्तार का अधिक जटिल सिंटैक्स एक पैरामीटर के मान को संशोधित करने की अनुमति देता है।
पैरामीटर विस्तार
${ उपसर्ग प्राचल अनुक्रमणिका आपरिवर्तक }
उपरोक्त सिंटैक्स परिभाषा में रिक्त स्थान केवल पठनीयता के लिए हैं और इन्हें छोड़ा जाना चाहिए।
आप छोड़ सकते हैं उपसर्ग, अनुक्रमणिका, और / या आपरिवर्तक.
उपसर्ग
RSI उपसर्ग, यदि कोई हो, तो हैश चिह्न होना चाहिए (#). यदि किसी पैरामीटर विस्तार में उपसर्ग है,
विस्तार का परिणाम इस विस्तार के मूल्य में वर्णों की संख्या है
उपसर्ग के बिना विस्तारित किया जाए।
प्राचल नाम
पैरामीटर नाम (प्राचल) या तो होना चाहिए
· एक विशेष पैरामीटर, स्थितीय पैरामीटर या चर का नाम; या
· अन्य पैरामीटर विस्तार, कमांड प्रतिस्थापन, या अंकगणितीय विस्तार।
पैरामीटर विस्तार को के मान तक विस्तारित किया जाता है प्राचल. अगर प्राचल है एक
ऐरे वैरिएबल, ऐरे के मान फ़ील्ड-स्प्लिट की तरह हैं @ विशेष पैरामीटर
जब तक कि सूचकांक [*] अधिकृत है।
If प्राचल एक और विस्तार है, इसे a कहा जाता है नेस्ट विस्तार. नेस्टेड विस्तार
POSIXly-सही मोड में उपयोग नहीं किया जा सकता। ब्रेसिज़ ({ }) एक नेस्टेड पैरामीटर का
विस्तार को छोड़ा नहीं जा सकता.
Index.sp An अनुक्रमणिका पैरामीटर मान (या कुछ सरणी मान) का हिस्सा निकालने की अनुमति देता है।
सूची
[word1]
[word1,word2]
जहां word1 और word2 इन्हें सामान्य टोकन की तरह ही पार्स किया जाता है, सिवाय इसके कि वे हैं
हमेशा द्वारा सीमांकित , or ] और इसमें रिक्त स्थान वर्ण हो सकते हैं.
अगर कोई ए अनुक्रमणिका एक पैरामीटर विस्तार में, इसकी व्याख्या इस प्रकार की जाती है:
1. शब्द word1 और word2 पैरामीटर विस्तार, कमांड प्रतिस्थापन, और के अधीन हैं
अंकगणितीय विस्तार.
2. यदि नहीं है word2 और अगर word1 में से एक तक विस्तारित होता है *, @, तथा #, तो वह है
की व्याख्या अनुक्रमणिका और अगला कदम नहीं उठाया जाता.
3. पिछले चरणों के परिणाम (विस्तारित)। word1 और word2) की व्याख्या की जाती है और
अंकगणितीय अभिव्यक्ति के रूप में उसी तरह मूल्यांकन किया जाता है जैसे अंकगणितीय विस्तार में।
परिणामी पूर्णांकों की व्याख्या है अनुक्रमणिका. यदि परिणाम नहीं हैं
पूर्णांक, यह एक विस्तार त्रुटि है. अगर वहाँ कोई नहीं है word2, यह मान लिया है कि word2 is
के बराबर word1.
If प्राचल एक सरणी चर है, अनुक्रमणिका सरणी का भाग निर्दिष्ट करता है। अगर प्राचल
या तो है * or @ विशेष पैरामीटर, अनुक्रमणिका स्थितीय की सूचकांक सीमा निर्दिष्ट करता है
पैरामीटर. अन्य मामलों में, अनुक्रमणिका के एक सबस्ट्रिंग की सूचकांक सीमा निर्दिष्ट करता है
पैरामीटर मान जिसका विस्तार किया जा रहा है. सभी मामलों में, सरणी की निर्दिष्ट सीमा
विस्तार के परिणामों में मान, स्थितीय पैरामीटर या पैरामीटर मान बना रहता है
और अन्य मान गिरा दिए जाते हैं.
यदि की व्याख्या अनुक्रमणिका एक या दो पूर्णांक हैं, तो निम्नलिखित नियम लागू होते हैं:
· यदि व्याख्या किया गया सूचकांक मान नकारात्मक है, तो यह wraps चारों ओर. उदाहरण के लिए, सूचकांक
-1 का मान अंतिम मान/वर्ण से मेल खाता है।
· जब सूचकांक मान सीमा से बाहर हो तो यह कोई त्रुटि नहीं है। मौजूदा मान/अक्षर
सीमा के भीतर अभी चयनित हैं।
· यदि दोनों में से किसी एक की व्याख्या word1 or word2 0 है, सीमा रिक्त मानी जाती है और
विस्तार का परिणाम कुछ नहीं होता।
यदि की व्याख्या अनुक्रमणिका में से एक है *, @, तथा #, इसका उपचार इस प्रकार किया जाता है:
*
If प्राचल एक सारणी है, सारणी के सभी मान एक में संयोजित हैं
डोरी। अगर प्राचल विश्व का सबसे लोकप्रिय एंव * or @ विशेष पैरामीटर, सभी स्थितीय पैरामीटर हैं
एक स्ट्रिंग में संयोजित. का विवरण देखें * कैसे के लिए विशेष पैरामीटर
परिणाम स्ट्रिंग में मान/स्थितीय पैरामीटर अलग किए गए हैं। अन्य मामलों में,
की व्याख्या अनुक्रमणिका ऐसा माना जाता है जैसे कि व्याख्या दो पूर्णांक 1 और है
-1।
@
की व्याख्या अनुक्रमणिका ऐसा माना जाता है मानो व्याख्या दो पूर्णांक 1 है
और 1।
#
की व्याख्या #अनुक्रमणिका यह विशेष है कि यह केवल एक निर्दिष्ट नहीं करता है
श्रेणी। इसके बजाय, विस्तारित मानों को गिनती के साथ प्रतिस्थापित किया जाता है।
If प्राचल एक सरणी है, इस पैरामीटर विस्तार का परिणाम की संख्या होगी
सरणी में मानों का विस्तार किया जा रहा है। अगर प्राचल विश्व का सबसे लोकप्रिय एंव * or @ विशेष पैरामीटर,
परिणाम वर्तमान स्थितीय मापदंडों की संख्या होगी। नहीं तो परिणाम होगा
उस मान में वर्णों की संख्या हो जिसका विस्तार किया जा रहा है।
यदि किसी पैरामीटर विस्तार में कोई शामिल नहीं है अनुक्रमणिका, ऐसा माना जाता है [@]. में
POSIXly-सही मोड, अनुक्रमणिका निर्दिष्ट नहीं किया जा सकता है।
उदाहरण 1. विस्तार of a साधारण परिवर्तनशील
निम्नलिखित आदेश स्ट्रिंग को प्रिंट करेंगे एबीसी:
var='123ABC789'
प्रतिध्वनि "${var[4,6]}"
उदाहरण 2. विस्तार of अवस्था का पैरामीटर
निम्नलिखित आदेश स्ट्रिंग को प्रिंट करेंगे 2 3 4:
सेट 1 2 3 4 5
प्रतिध्वनि "${*[2,-2]}"
उदाहरण 3. विस्तार of an सरणी
निम्नलिखित आदेश स्ट्रिंग को प्रिंट करेंगे 2 3 4:
सारणी=(1 2 3 4 5)
प्रतिध्वनि "${सरणी[2,-2]}"
संशोधक
आप इसका उपयोग करके विस्तारित किए जाने वाले मान को संशोधित कर सकते हैं संशोधक:
-शब्द
यदि पैरामीटर नाम (प्राचल) एक अपरिभाषित चर, पैरामीटर है
तक विस्तार किया गया है शब्द. यदि विकल्प अनसेट है तो इसे त्रुटि नहीं माना जाता है
अक्षम है।
+शब्द
यदि पैरामीटर नाम (प्राचल) एक मौजूदा चर, पैरामीटर विस्तार है
तक विस्तारित है शब्द. यदि अनसेट विकल्प है तो इसे त्रुटि नहीं माना जाता है
विकलांग।
=शब्द
यदि पैरामीटर नाम (प्राचल) एक अपरिभाषित चर है, शब्द को सौंपा गया है
चर और पैरामीटर विस्तार का विस्तार किया गया है शब्द. इसके साथ वैसा व्यवहार नहीं किया जाता
यदि अनसेट विकल्प अक्षम है तो एक त्रुटि।
?शब्द
यदि पैरामीटर नाम (प्राचल) एक अपरिभाषित चर है, शब्द के रूप में मुद्रित किया जाता है
मानक त्रुटि के लिए त्रुटि संदेश. अगर शब्द खाली है, डिफ़ॉल्ट त्रुटि संदेश
इसके स्थान पर मुद्रित किया जाता है।
:-शब्द, :+शब्द, :=शब्द, :?शब्द
ये उपरोक्त चार प्रकार के संशोधक के समान हैं। फर्क सिर्फ इतना है
कि अगर प्राचल मौजूद है और इसका एक खाली मान है, इसे भी एक के रूप में माना जाता है
अपरिभाषित चर।
#शब्द
शेल विस्तारित किए जा रहे मान के विरुद्ध पैटर्न मिलान करता है,
का उपयोग शब्द एक पैटर्न के रूप में. अगर शब्द मान की शुरुआत से मेल खाता है, मिलान
भाग को मान से हटा दिया जाता है और दूसरा भाग विस्तार परिणाम के रूप में रहता है।
यदि एक से अधिक मिलान संभव हो तो सबसे छोटे मिलान का उपयोग किया जाता है।
##शब्द
यह समान है #शब्द ऊपर। अंतर केवल इतना है कि मिलान सबसे लंबा है
यदि एक से अधिक मिलान संभव हो तो इसका उपयोग किया जाता है।
%शब्द
यह समान है #शब्द ऊपर। अंतर केवल इतना है कि मिलान का प्रयास किया जाता है
शुरुआत के बजाय मूल्य का अंत: यदि शब्द के अंत से मेल खाता है
मान, मिलान वाला भाग मान से हटा दिया जाता है और दूसरा भाग वैसा ही बना रहता है
विस्तार परिणाम.
%%शब्द
यह समान है %शब्द ऊपर। अंतर केवल इतना है कि मिलान सबसे लंबा है
यदि एक से अधिक मिलान संभव हो तो इसका उपयोग किया जाता है।
/word1/word2
शेल विस्तारित किए जा रहे मान के विरुद्ध पैटर्न मिलान करता है,
का उपयोग word1 एक पैटर्न के रूप में. अगर word1 मूल्य के किसी भी भाग से मेल खाता है, मिलान
भाग को प्रतिस्थापित कर दिया गया है word2 और प्रतिस्थापन के बाद संपूर्ण मान यथावत रहता है
विस्तार परिणाम. अगर word1 मान के एक से अधिक भाग से मेल खाता है, केवल
पहला भाग बदला गया है. एक से अधिक होने पर सबसे छोटा मिलान बदल दिया जाता है
मूल्य में समान प्रारंभिक बिंदु के लिए मिलान संभव है।
इस संशोधक का उपयोग POSIXly-सही मोड में नहीं किया जा सकता है।
/#word1/word2
यह समान है /word1/word2 ऊपर। फर्क सिर्फ इतना है word1 मैच
केवल मूल्य के आरंभ में ही विस्तार किया जा रहा है।
/%word1/word2
यह समान है /word1/word2 ऊपर। फर्क सिर्फ इतना है word1 मैच
केवल मूल्य के अंत में विस्तार किया जा रहा है।
//word1/word2
यह समान है /word1/word2 ऊपर। फर्क सिर्फ इतना है कि सभी मेल खाते हैं
यदि भागों को बदला जाता है word1 मान के एक से अधिक भाग से मेल खाता है।
:/word1/word2
यह समान है /word1/word2 ऊपर। अंतर केवल इतना है कि मूल्य है
केवल तभी बदला गया जब word1 संपूर्ण मान से मेल खाता है.
उपरोक्त सभी प्रकार के संशोधकों में, शब्द चार विस्तारों के अधीन होते हैं जब (और
केवल तभी जब) उनका उपयोग किया जाता है।
If प्राचल एक सरणी चर है या @ or * विशेष पैरामीटर, संशोधक प्रभावित करते हैं
सरणी का प्रत्येक मान या सभी स्थितीय पैरामीटर।
आदेश प्रतिस्थापन
आदेश प्रतिस्थापन निर्दिष्ट आदेशों के आउटपुट तक विस्तारित होता है।
आदेश प्रतिस्थापन
$(आज्ञाओं)
`आज्ञाओं`
जब कमांड प्रतिस्थापन का मूल्यांकन किया जाता है, आज्ञाओं आउटपुट के साथ एक सबशेल द्वारा निष्पादित किया जाता है
शेल में पाइपलाइन किया गया। जब आज्ञाओं समाप्त, कमांड प्रतिस्थापन प्रतिस्थापित किया गया है
के आउटपुट के साथ आज्ञाओं. आउटपुट में कोई भी अनुगामी न्यूलाइन वर्ण हैं
अवहेलना करना।
जब फॉर्म का कमांड प्रतिस्थापन $(आज्ञाओं) पार्स किया गया है, आज्ञाओं पार्स किए गए हैं
सावधानीपूर्वक ताकि नेस्टेड कमांड प्रतिस्थापन जैसे जटिल कमांड को पार्स किया जा सके
सही ढंग से। अगर आज्ञाओं के साथ शुरू (, आपको पहले एक जगह डालनी चाहिए आज्ञाओं वैसा ही किया
संपूर्ण कमांड प्रतिस्थापन अंकगणितीय विस्तार के साथ भ्रमित नहीं है। यदि खोल अंदर है
POSIXly-सही ढंग से मोड, आज्ञाओं हर बार कमांड प्रतिस्थापन होने पर पार्स किया जाता है
विस्तारित; अन्यथा, आज्ञाओं केवल तभी पार्स किया जाता है जब कमांड प्रतिस्थापन को पार्स किया जाता है।
यदि कमांड प्रतिस्थापन प्रपत्र का है `आज्ञाओं`, आज्ञाओं जब पार्स नहीं किया जाता है
कमांड प्रतिस्थापन को पार्स किया गया है। अंत का आज्ञाओं पहले बैककोट द्वारा पता लगाया जाता है
चरित्र (`) की शुरुआत के बाद आज्ञाओं इसे बैकस्लैश द्वारा उद्धृत नहीं किया गया है।
बैककोट्स जो का हिस्सा हैं आज्ञाओं (आमतौर पर नेस्टेड कमांड प्रतिस्थापन के लिए उपयोग किया जाता है) अवश्य
बैकस्लैश द्वारा उद्धृत किया जाए। आज्ञाओं हर बार कमांड प्रतिस्थापन होने पर पार्स किया जाता है
विस्तारित।
अंकगणित विस्तार
अंकगणित विस्तार एक अंकगणितीय अभिव्यक्ति का मूल्यांकन करता है और के मान तक विस्तार करता है
अभिव्यक्ति।
अंकगणितीय विस्तार
$((अभिव्यक्ति))
जब अंकगणितीय विस्तार का विस्तार किया जाता है, तो अभिव्यक्ति पैरामीटर विस्तार के अधीन है,
कमांड प्रतिस्थापन, और (नेस्टेड) अंकगणितीय विस्तार। अभिव्यक्ति में पार्स किया गया है
(लगभग) सी प्रोग्रामिंग भाषा की अभिव्यक्ति के समान।
यश किसी अभिव्यक्ति को या तो पूर्णांक (सी में लंबे प्रकार का) या ए होने की अनुमति देता है
फ़्लोटिंग-पॉइंट नंबर (सी में डबल प्रकार का)। पूर्णांकों पर एक संक्रिया से एक प्राप्त होता है
पूर्णांक और एक फ़्लोटिंग-पॉइंट नंबर से जुड़ा एक ऑपरेशन एक फ़्लोटिंग-पॉइंट नंबर उत्पन्न करता है।
POSIXly-सही मोड में, आप केवल पूर्णांक का उपयोग कर सकते हैं।
निम्नलिखित ऑपरेटर उपलब्ध हैं (पूर्वता क्रम में):
1. ( )
2. ++-- (पोस्टफ़िक्स ऑपरेटर)
3. ++--+-~! (उपसर्ग ऑपरेटर)
4. */%
5. +- (बाइनरी ऑपरेटर्स)
6. << >>
7. <<=>>=
8. ==!=
9. &
10. ^
11. |
12. &&
13. ||
14. ? :
15. =*=/=%=+=-=<<=>>=&=^=|=
RSI ++ और -- ऑपरेटरों का उपयोग POSIXly-सही मोड में नहीं किया जा सकता है।
एक परमाणु अभिव्यक्ति एक पूर्णांक शाब्दिक, एक फ़्लोटिंग-पॉइंट संख्या शाब्दिक में से एक हो सकती है,
और एक चर. अक्षरशः को उसी प्रकार पार्स किया जाता है जैसे C में। एक अष्टाधारी पूर्णांक अक्षरशः
के साथ शुरू करो 0, और हेक्साडेसिमल के साथ 0x. एक फ़्लोटिंग-पॉइंट संख्या का शाब्दिक अर्थ हो सकता है
प्रतिपादक (अर्थात् 1.23e + 6). गैर-संख्यात्मक मान वाले एक चर के परिणामस्वरूप त्रुटि होगी
एक संख्या के रूप में पार्स किया गया।
POSIXly-सही मोड में, चर को हमेशा संख्याओं के रूप में पार्स किया जाता है। अन्यथा, चर
केवल तभी पार्स किया जाता है जब उन्हें गणना में संख्याओं के रूप में उपयोग किया जाता है। अनपार्स्ड वैरिएबल बचे हैं
बरकरार।
+o सकारात्मक रूप से सही सेट करें
फू = बार
इको $((0 ? foo : foo)) # "बार" प्रिंट करता है
इको $((foo + 0)) # त्रुटि
ब्रेस विस्तार
ब्रेस विस्तार पूर्ववर्ती और उत्तरवर्ती भागों के साथ कई विभाजित शब्दों तक विस्तारित होता है
प्रत्येक विभाजित शब्द को दोहराया गया। ब्रेस विस्तार का विस्तार तभी होता है जब ब्रेस-विस्तार होता है
विकल्प सक्षम है।
अल्पविराम से पृथक ब्रेस विस्तार
{word1,word2, ...,शब्द}
रेंज ब्रेस विस्तार
{प्रारंभ..समाप्त}
{प्रारंभ..समाप्त..डेल्टा}
अल्पविराम से अलग किए गए ब्रेस विस्तार का विस्तार प्रत्येक अल्पविराम से अलग किए गए शब्द तक किया जाता है। उदाहरण के लिए,
ए{1,2,3}बी तीन शब्दों तक विस्तारित है a1b, a2b, तथा a3b.
रेंज ब्रेस विस्तार को परिभाषित सीमा में पूर्णांकों तक विस्तारित किया गया है प्रारंभ और समाप्त।
प्रत्येक पूर्णांक के बीच अंतर को परिभाषित किया जा सकता है डेल्टा. अगर प्रारंभ से बड़ा है समाप्त,
परिणाम घटते क्रम में होंगे. कब ..डेल्टा छोड़ दिया गया है, यह 1 या -1 पर डिफ़ॉल्ट है। के लिए
उदाहरण, ए{1..3}बी तीन शब्दों तक विस्तारित है a1b, a2b, तथा a3b, और ए{1..7..2}बी को
चार शब्द a1b, a3b, a5b, तथा a7b.
एक शब्द में एकाधिक ब्रेस विस्तार का उपयोग किया जा सकता है। ब्रेस विस्तार को भी नेस्ट किया जा सकता है।
आप उन्हें ब्रेस विस्तार के रूप में माने जाने से रोकने के लिए ब्रेसिज़ और/या अल्पविराम उद्धृत कर सकते हैं।
ब्रेस विस्तार में किसी भी त्रुटि को चुपचाप नजरअंदाज कर दिया जाता है।
क्षेत्र बंटवारे
In खेत बंटवारे, शब्द पूर्वनिर्धारित विभाजकों पर विभाजित होते हैं।
फ़ील्ड विभाजन केवल पैरामीटर के परिणामस्वरूप शब्दों के कुछ हिस्सों में ही हो सकता है
विस्तार, कमांड प्रतिस्थापन और अंकगणितीय विस्तार जो बीच में नहीं हैं
दोहरे उद्धरण चिह्न. के विस्तार परिणाम @ विशेष पैरामीटर असाधारण रूप से हैं
दोहरे-उद्धरण चिह्नों के बीच भी विभाजित करें।
फ़ील्ड विभाजन में उपयोग किए जाने वाले विभाजकों को के मान से परिभाषित किया जाता है आईएफएस चर। अगर
वेरिएबल मौजूद नहीं है, मान को स्पेस, टैब, के तीन अक्षर माना जाता है
और न्यूलाइन.
के मान में शामिल वर्ण आईएफएस वेरिएबल कहलाते हैं आईएफएस अक्षर. भारतीय विदेश सेवा
वे अक्षर जो स्पेस, टैब और न्यूलाइन में से किसी एक हैं, कहलाते हैं आईएफएस खाली स्थान के और अन्य आई.एफ.एस
अक्षर कहलाते हैं आईएफएस गैर-सफ़ेद.
फ़ील्ड विभाजन निम्नानुसार किया जाता है:
1. शेल विभाजित बिंदुओं के लिए शब्द खोजता है। एक विभाजन बिंदु एक या अधिक आसन्न IFS है
शब्द भागों के भीतर वर्ण जो फ़ील्ड विभाजन के अधीन हैं। निम्नलिखित
पाए गए प्रत्येक विभाजित बिंदु के लिए कदम उठाए गए हैं।
2. यदि विभाजन बिंदु में एक या अधिक IFS गैर-व्हाइटस्पेस शामिल हैं, तो कोई भी IFS व्हाइटस्पेस शामिल है
विभाजन बिंदु को नजरअंदाज कर दिया जाता है और शब्द को प्रत्येक IFS गैर-व्हाट्सएप पर विभाजित किया जाता है
विभाजन बिंदु.
3. यदि विभाजन बिंदु में कोई IFS गैर-व्हाट्सएप शामिल नहीं है, तो शब्द विभाजन पर विभाजित हो जाता है
बिंदु जब तक कि वह शब्द के आरंभ या अंत में न हो।
4. विभाजित अंक परिणामों से हटा दिए जाते हैं।
नोट
के मान होने पर शब्द बिल्कुल भी विभाजित नहीं होते आईएफएस वैरिएबल खाली है.
पथ नाम विस्तार
पथ नाम विस्तार पैटर्न मिलान करता है और मिलान किए गए पथनामों तक विस्तारित होता है
पैटर्न.
पथनाम विस्तार के अधीन एक शब्द को एक पैटर्न के रूप में माना जाता है। यदि एक या अधिक पथनाम
पाए जाते हैं जो पैटर्न से मेल खाते हैं, पथनाम परिणाम बन जाते हैं
पथनाम विस्तार.
ग्लोब विकल्प अक्षम होने पर पथनाम विस्तार नहीं किया जाता है।
शेल मिलान पथनामों के लिए पठनीय निर्देशिकाओं की खोज करता है। अपठनीय निर्देशिकाएँ हैं
चुपचाप नजरअंदाज कर दिया।
निम्नलिखित विकल्प पथनाम विस्तार के व्यवहार को प्रभावित करते हैं:
शून्य-ग्लोब
जब कोई मेल खाने वाला पथनाम नहीं होता है तो यह विकल्प पथनाम विस्तार के परिणाम को प्रभावित करता है
मिला। यदि सक्षम किया गया है, तो परिणाम कोई शब्द नहीं है। यदि अक्षम किया गया है, तो परिणाम मूल है
पैटर्न शब्द.
केस-ग्लोब
यह विकल्प मिलान में केस-संवेदनशीलता निर्दिष्ट करता है। यदि सक्षम है, तो पैटर्न मिलान है
केस-संवेदनशीलता से किया गया।
डॉट-ग्लोब
यह विकल्प उन फ़ाइल नामों के मिलान को प्रभावित करता है जो किसी अवधि से शुरू होते हैं (.). यदि अक्षम है, तो ए
फ़ाइल नाम की शुरुआत में अवधि वाइल्डकार्ड पैटर्न से मेल नहीं खाती (? और *) या
कोष्ठक अभिव्यक्तियाँ. यदि सक्षम है, तो पीरियड्स का ऐसा कोई विशेष उपचार नहीं है।
मार्क-डीआईआर
यदि सक्षम किया गया है, तो प्रत्येक परिणामी पथनाम जो कि एक निर्देशिका नाम है, को एक स्लैश द्वारा प्रत्यय दिया जाता है
(/).
विस्तारित-ग्लोब
यह विकल्प एक्सटेंशन को सक्षम बनाता है. (नीचे देखें)
पथनाम विस्तार में किसी भी त्रुटि को चुपचाप अनदेखा कर दिया जाता है। यदि शब्द एक अमान्य पैटर्न है,
यह सिर्फ परिणाम बन जाता है. कोई मिलान न होने पर परिणाम नल-ग्लोब विकल्प पर निर्भर करते हैं
पथनाम पाए जाते हैं.
पथनामों के प्रत्येक फ़ाइलनाम (या पथनाम घटक) के लिए पैटर्न मिलान किया जाता है। खोल
उन शाब्दिक पैटर्न के लिए मिलान छोड़ देता है जिनमें कोई वाइल्डकार्ड या ब्रैकेट अभिव्यक्ति नहीं होती है। के तौर पर
परिणाम, पैटर्न /*/foo और /*/fo[o] जब अलग-अलग विस्तार परिणाम प्राप्त हो सकते हैं
केस-ग्लोब विकल्प अक्षम है; उदाहरण के लिए, पैटर्न /*/fo[o] पथनाम से मेल खाता है
/बार/फू लेकिन पैटर्न /*/foo ऐसा नहीं है क्योंकि मिलान छोड़ दिया गया है foo.
विस्तार in पथ नाम विस्तार
विस्तारित-ग्लोब विकल्प सक्षम होने पर निम्नलिखित पैटर्न का उपयोग किया जा सकता है।
**
निर्देशिका को पुनरावर्ती रूप से खोजा जाता है और पैटर्न किसी भी संख्या से मेल खाता है
निर्देशिका फ़ाइल नाम (प्रत्येक को एक स्लैश द्वारा अलग किया गया)। कोई भी निर्देशिका जिसका नाम प्रारंभ होता है
एक अवधि के साथ खोज से बाहर रखा गया है। उदाहरण के लिए, पैटर्न dir/**/फ़ाइल कर सकते हैं
पथनामों का मिलान करें डीआईआर/फ़ाइल, dir/foo/file, डीआईआर/ए/बी/सी/फ़ाइल, आदि
पूरे पैटर्न के अंत में प्रदर्शित होने पर यह पैटर्न प्रभावी नहीं होता है (अर्थात्
फू/बार/**).
। **
यह पैटर्न इस प्रकार है **, लेकिन सभी निर्देशिकाएं खोजी जाती हैं जिनमें a वाली निर्देशिकाएं भी शामिल हैं
एक अवधि से शुरू होने वाला नाम.
***
यह पैटर्न इस प्रकार है **, लेकिन यदि किसी निर्देशिका का प्रतीकात्मक लिंक इस दौरान पाया जाता है
पुनरावर्ती खोज, निर्देशिका को पुनरावर्ती रूप से भी खोजा जाता है।
। ***
यह पैटर्न इस प्रकार है ***, लेकिन सभी निर्देशिकाएं खोजी जाती हैं जिनमें a वाली निर्देशिकाएं भी शामिल हैं
एक अवधि से शुरू होने वाला नाम.
प्रतिरूप मेल मिलाना अंकन
पैटर्न मिलान नोटेशन का एक वाक्यविन्यास है पैटर्न उपयोग करें जो कि विशेष सेटों का प्रतिनिधित्व करता है
तार. जब एक स्ट्रिंग को स्ट्रिंग के सेट में शामिल किया जाता है तो एक पैटर्न, पैटर्न का प्रतिनिधित्व करता है
कहा जाता है कि मैच डोर। कोई पैटर्न किसी स्ट्रिंग से मेल खाता है या नहीं, इसे इस प्रकार परिभाषित किया गया है
इस प्रकार है।
साधारण अक्षर
एक वर्ण जिसे उद्धृत नहीं किया गया है या नीचे परिभाषित कोई विशेष वर्ण सामान्य है
चरित्र, जो चरित्र से ही मेल खाता है।
उदाहरण के लिए, पैटर्न एबीसी स्ट्रिंग से मेल खाता है एबीसी, और कोई अन्य तार नहीं।
एकल-वर्ण वाइल्डकार्ड
चरित्र ? किसी एकल वर्ण से मेल खाता है।
उदाहरण के लिए, पैटर्न एसी से शुरू होने वाली किसी भी तीन-वर्ण वाली स्ट्रिंग से मेल खाता है a और
इसी के साथ समाप्त होता है cइस तरह के रूप में, aac, एबीसी, तथा एसी.
बहु-चरित्र वाइल्डकार्ड
चरित्र * किसी भी स्ट्रिंग से मेल खाता है (खाली स्ट्रिंग सहित किसी भी लंबाई का)।
उदाहरण के लिए, पैटर्न एसी से शुरू होने वाली किसी भी स्ट्रिंग से मेल खाता है a और साथ समाप्त होता है c, इस तरह
as ac, एबीसी, तथा ए;xyz;सी.
ब्रैकेट अभिव्यक्ति
एक पैटर्न जो कोष्ठक से घिरा हुआ है ([ और ]) एक है ब्रैकेट अभिव्यक्ति. एक ब्रैकेट
अभिव्यक्ति में कोष्ठक के बीच कम से कम एक अक्षर होना चाहिए। बीच के पात्र
कोष्ठक की व्याख्या इस प्रकार की जाती है ब्रैकेट अभिव्यक्ति पैटर्न, जो नीचे परिभाषित है
कोष्ठक अभिव्यक्ति के लिए विशेष संकेतन. एक ब्रैकेट अभिव्यक्ति पैटर्न एक सेट का प्रतिनिधित्व करता है
पात्र। ब्रैकेट अभिव्यक्ति सेट के किसी भी एक अक्षर से मेल खाती है
ब्रैकेट अभिव्यक्ति पैटर्न दर्शाता है।
यदि उद्घाटन ब्रैकेट ([) के बाद विस्मयादिबोधक चिह्न (!), विस्मयादिबोधक नहीं है
इसे ब्रैकेट अभिव्यक्ति पैटर्न के भाग के रूप में और इसके बजाय संपूर्ण ब्रैकेट अभिव्यक्ति के रूप में माना जाता है
एक चरित्र से मेल खाता है जो है नहीं सेट में ब्रैकेट अभिव्यक्ति पैटर्न शामिल है
प्रतिनिधित्व करता है. यदि शुरुआती ब्रैकेट के बाद कैरेट (^), इसे एक की तरह माना जाता है
ऊपर जैसा विस्मयादिबोधक चिह्न (लेकिन यश के अलावा अन्य शैल कैरेट को अलग तरह से व्यवहार कर सकते हैं)।
यदि प्रारंभिक कोष्ठक (या निम्नलिखित विस्मयादिबोधक या कैरेट, यदि कोई हो) के बाद a आता है
समापन ब्रैकेट (]), इसके बजाय इसे ब्रैकेट अभिव्यक्ति पैटर्न के भाग के रूप में माना जाता है
कोष्ठक अभिव्यक्ति का अंत. आप कोष्ठक अभिव्यक्ति में वर्णों को उद्धृत नहीं कर सकते
पैटर्न क्योंकि उद्धरण को ब्रैकेट अभिव्यक्ति से पहले माना जाता है।
किसी पैटर्न में एक शुरुआती ब्रैकेट को एक सामान्य चरित्र के रूप में माना जाता है यदि ऐसा नहीं है
एक वैध ब्रैकेट अभिव्यक्ति की शुरुआत.
साधारण अक्षर (में ब्रैकेट अभिव्यक्ति नमूना)
एक ऐसा चरित्र जो नीचे परिभाषित विशेष वर्णों में से नहीं है, एक सामान्य चरित्र है,
जो चरित्र का ही प्रतिनिधित्व करता है।
उदाहरण के लिए, ब्रैकेट अभिव्यक्ति पैटर्न एबीसी तीन वर्णों के समूह का प्रतिनिधित्व करता है
a, b, तथा c. कोष्ठक अभिव्यक्ति [एबीसी] इसलिए तीनों वर्णों में से किसी एक से मेल खाता है।
रेंज भाव
एक वर्ण के पहले और बाद में एक हाइफ़न (या मिलान चिह्न) एक है रेंज अभिव्यक्ति,
जो दो वर्णों के समूह और दोनों के बीच के सभी वर्णों का प्रतिनिधित्व करता है
संकलन आदेश. ए मिलान आदेश वर्णों का एक क्रम है जिसे लोकेल में परिभाषित किया गया है
डेटा.
यदि एक हाइफ़न के बाद एक समापन ब्रैकेट आता है (]), ब्रैकेट को अंत के रूप में माना जाता है
ब्रैकेट अभिव्यक्ति और हाइफ़न एक सामान्य वर्ण के रूप में।
उदाहरण के लिए, रेंज अभिव्यक्ति 3-5 तीन वर्णों के समूह का प्रतिनिधित्व करता है 3, 4, तथा
5. कोष्ठक अभिव्यक्ति [3-5-] इसलिए चार वर्णों में से एक से मेल खाता है 3, 4, 5, तथा
-.
क्रमवार प्रतीकों
A collating प्रतीक एक से अधिक वर्णों को एक ही वर्ण के रूप में मानने की अनुमति देता है
मेल मिलाना। एक एकत्रित प्रतीक विशेष से घिरे एक या अधिक वर्णों से बना होता है
कोष्ठक [. और .].
एक या अधिक वर्ण जिन्हें मिलान में एकल वर्ण के रूप में माना जाता है, कहलाते हैं
collating तत्व. संक्षेप में, एक ब्रैकेट अभिव्यक्ति पैटर्न मिलान के एक सेट का प्रतिनिधित्व करता है
तत्व और एक ब्रैकेट अभिव्यक्ति एक चरित्र के बजाय एक एकत्रित तत्व से मेल खाती है, लेकिन
हम यहां संक्षिप्तता के लिए उन्हें अलग नहीं करते हैं।
उदाहरण के लिए, वर्ण संयोजन "ch" को एकल वर्ण के रूप में माना गया था
पारंपरिक स्पेनिश भाषा. यदि यह वर्ण संयोजन कोलाटिंग के रूप में पंजीकृत है
स्थानीय डेटा में तत्व, ब्रैकेट अभिव्यक्ति [[.ch.]df] में से एक से मेल खाता है ch, d, तथा f.
समतुल्यता कक्षाएं
An समानक कक्षा वर्णों के एक समूह का प्रतिनिधित्व करता है जिन पर विचार किया जाता है बराबर. एक
तुल्यता वर्ग एक वर्ण (या अधिक सटीक रूप से, एक मिलान तत्व) से बना है
विशेष कोष्ठकों से घिरा हुआ [= और =].
एक तुल्यता वर्ग उन वर्णों के समूह का प्रतिनिधित्व करता है जिनमें वर्ण शामिल होते हैं
कोष्ठक और वर्णों से घिरा हुआ जो समान प्राथमिक तुल्यता वर्ग में हैं
संलग्न पात्र के रूप में. शेल इसकी परिभाषा के लिए स्थानीय डेटा से परामर्श लेता है
वर्तमान स्थान में समतुल्य वर्ग।
उदाहरण के लिए, यदि छह अक्षर a, à, á, â, ã, ä एक ही प्राथमिक में परिभाषित किया गया है
तुल्यता वर्ग, कोष्ठक अभिव्यक्तियाँ [[=ए=]], [[=à=]], तथा [[=á=]] इनमें से किसी एक का मिलान करें
छह।
चरित्र कक्षाएं
A चरित्र कक्षा वर्णों के पूर्वनिर्धारित सेट का प्रतिनिधित्व करता है। एक चरित्र वर्ग बना है
विशेष कोष्ठकों से घिरे वर्ग के नाम का [: और :]. शेल स्थानीय लोगों से परामर्श करता है
यह डेटा कि कोई वर्ण किस वर्ग से संबंधित है।
निम्नलिखित वर्ण वर्गों का उपयोग सभी स्थानों में किया जा सकता है:
[: निचला:]
छोटे अक्षरों का सेट
[: ऊपरी:]
बड़े अक्षरों का सेट
[: अल्फा:]
अक्षरों का सेट, जिसमें शामिल हैं [: निचला:] और [: ऊपरी:] कक्षाएं।
[:अंक:]
दशमलव अंकों का सेट
[: xdigit:]
हेक्साडेसिमल अंकों का सेट
[: अलनम:]
सहित अक्षरों और अंकों का सेट [: अल्फा:] और [:अंक:] कक्षाएं।
[: रिक्त:]
रिक्त वर्णों का सेट, जिसमें न्यूलाइन वर्ण शामिल नहीं है
[:स्थान:]
न्यूलाइन वर्ण सहित अंतरिक्ष वर्णों का सेट
[: पंच:]
विराम चिह्नों का सेट
[: प्रिंट:]
मुद्रण योग्य वर्णों का सेट
[: सीएनटीआरएल:]
नियंत्रण वर्णों का सेट
उदाहरण के लिए, कोष्ठक अभिव्यक्ति [[:लोअर अपर:]] निचले या ऊपरी केस से मेल खाता है
चरित्र। ऊपर सूचीबद्ध कक्षाओं के अलावा, अन्य कक्षाओं का उपयोग इसके आधार पर किया जा सकता है
वर्तमान स्थान की परिभाषा.
पुनर्निर्देशन
पुनप्रेषण एक सुविधा है जिसका उपयोग आप कमांड के फ़ाइल डिस्क्रिप्टर को संशोधित करने के लिए कर सकते हैं। का उपयोग करके
पुनर्निर्देशन, आप कमांड को उनके मानक इनपुट/आउटपुट से जोड़कर निष्पादित कर सकते हैं
टर्मिनल के अलावा अन्य फ़ाइलें या डिवाइस।
आप पुनर्निर्देशन ऑपरेटरों को एक कमांड (सरल कमांड या) में जोड़कर पुनर्निर्देशन कर सकते हैं
कंपाउंड कमांड) एक साधारण कमांड में, पुनर्निर्देशन ऑपरेटर कहीं भी दिखाई दे सकते हैं
जब तक ऑपरेटर टोकन अन्य टोकन से अलग होते हैं तब तक कमांड। एक कंपाउंड कमांड में,
पुनर्निर्देशन ऑपरेटरों को आदेश के अंत में अवश्य दिखना चाहिए।
कमांड बॉडी निष्पादित होने से पहले पुनर्निर्देशन ऑपरेटरों को संसाधित किया जाता है। एक से अधिक
एक कमांड में पुनर्निर्देशन ऑपरेटर को उपस्थिति के क्रम में संसाधित किया जाता है। पुनर्निर्देशन
ऑपरेटर केवल उस कमांड को प्रभावित करते हैं जिसमें वे दिखाई देते हैं, सिवाय इसके कि जब वे किसी निष्पादन में दिखाई देते हैं
बिना कमांड ऑपरेंड के अंतर्निर्मित। अर्थात्, पुनर्निर्देशन द्वारा संशोधित फ़ाइल डिस्क्रिप्टर हैं
आदेश समाप्त होने के बाद बहाल किया गया।
एक पुनर्निर्देशन ऑपरेटर प्रारंभ होता है < or >. पुनर्निर्देशन ऑपरेटरों से शुरू होता है < को प्रभावित करता है
डिफ़ॉल्ट रूप से मानक इनपुट (फ़ाइल डिस्क्रिप्टर 0)। पुनर्निर्देशन ऑपरेटरों से शुरू होता है >
डिफ़ॉल्ट रूप से मानक आउटपुट (फ़ाइल डिस्क्रिप्टर 1) को प्रभावित करता है। किसी अन्य फ़ाइल को प्रभावित करने के लिए
डिस्क्रिप्टर, आप एक गैर-नकारात्मक पूर्णांक के साथ पुनर्निर्देशन ऑपरेटर को उपसर्ग कर सकते हैं;
ऑपरेटर पूर्णांक द्वारा निर्दिष्ट फ़ाइल डिस्क्रिप्टर को प्रभावित करेगा। पूर्णांक अवश्य होना चाहिए
तुरंत पहले < or > बीच में कोई रिक्त स्थान के बिना। पूर्णांक नहीं होना चाहिए
या तो उद्धृत किया गया।
पुनप्रेषण सेवा मेरे फ़ाइलों
पुनर्निर्देशन का सबसे सामान्य प्रकार फ़ाइलों पर पुनर्निर्देशन है।
इनपुट का पुनर्निर्देशन
< टोकन
आउटपुट का पुनर्निर्देशन
> टोकन
>| टोकन
>> टोकन
इनपुट और आउटपुट का पुनर्निर्देशन
<> टोकन
RSI टोकन चार विस्तारों के अधीन है। यदि यह पथनाम विस्तार के अधीन भी है
शेल इंटरैक्टिव है. विस्तार परिणाम को फ़ाइल के पथनाम के रूप में माना जाता है
कौन सा पुनर्निर्देशन किया जाता है. यदि पथनाम विस्तार का परिणाम एक भी नहीं होता है
पथनाम, यह एक त्रुटि है.
इनपुट के पुनर्निर्देशन में, मानक इनपुट को फ़ाइल डिस्क्रिप्टर से बदल दिया जाता है
लक्ष्य फ़ाइल तक केवल पढ़ने के लिए पहुंच के लिए खुला। यदि लक्ष्य फ़ाइल नहीं खोली जा सकती
केवल पढ़ने योग्य पहुंच, यह एक त्रुटि है।
आउटपुट के पुनर्निर्देशन में, मानक आउटपुट को फ़ाइल डिस्क्रिप्टर से बदल दिया जाता है
लक्ष्य फ़ाइल तक केवल-लिखने के लिए पहुंच के लिए खुला। यदि लक्ष्य फ़ाइल नहीं खोली जा सकती
केवल-लेखन पहुंच, यह एक त्रुटि है। यदि लक्ष्य फ़ाइल मौजूद नहीं है, तो एक नई खाली फ़ाइल मौजूद है
बनाया और खोला गया. यदि लक्ष्य फ़ाइल पहले से मौजूद है, तो फ़ाइल निम्नानुसार खोली जाती है:
· के लिए >| ऑपरेटर, यदि फ़ाइल एक नियमित फ़ाइल है तो खोलने पर फ़ाइल खाली हो जाती है।
· के लिए > ऑपरेटर, व्यवहार वैसा ही है >| ऑपरेटर यदि क्लोबर विकल्प
सक्षम किया गया है। यदि विकल्प अक्षम है और फ़ाइल एक नियमित फ़ाइल है, तो इसे माना जाएगा
एक त्रुटि।
· के लिए >> ऑपरेटर, फ़ाइल संलग्न करने के लिए खोली गई है; फ़ाइल का कोई भी आउटपुट
डिस्क्रिप्टर को फ़ाइल के अंत में जोड़ा जाता है।
इनपुट और आउटपुट के पुनर्निर्देशन में, मानक इनपुट को फ़ाइल डिस्क्रिप्टर से बदल दिया जाता है
जो लक्ष्य फ़ाइल तक पढ़ने और लिखने की पहुंच के लिए खुला है। यदि फ़ाइल मौजूद नहीं है, a
नई खाली फ़ाइल बनाई और खोली जाती है।
गर्तिका पुनर्निर्देशन
यदि लक्ष्य फ़ाइल का पथनाम प्रपत्र का है /देव/टीसीपी/मेजबान/बंदरगाह or
/dev/udp/मेजबान/बंदरगाह और फ़ाइल सामान्य तरीके से नहीं खोली जा सकती, एक नया सॉकेट है
के साथ संचार हेतु खोला गया बंदरगाह का मेजबान. पुनर्निर्देशन प्रतिस्थापित करता है
सॉकेट में फ़ाइल डिस्क्रिप्टर के साथ मानक इनपुट या आउटपुट।
प्रपत्र के लिए एक स्ट्रीम सॉकेट खोला गया है /देव/टीसीपी/मेजबान/बंदरगाह और इसके लिए एक डेटाग्राम सॉकेट
प्रपत्र /dev/udp/मेजबान/बंदरगाह. वास्तव में संचार के लिए उपयोग किया जाने वाला प्रोटोकॉल है
शेल द्वारा उपयोग की जाने वाली सॉकेट लाइब्रेरी द्वारा निर्धारित किया जाता है। आमतौर पर, स्ट्रीम सॉकेट टीसीपी और का उपयोग करते हैं
डेटाग्राम सॉकेट यूडीपी।
सॉकेट पुनर्निर्देशन में, फ़ाइल डिस्क्रिप्टर पढ़ने योग्य और लिखने योग्य दोनों है
प्रयुक्त पुनर्निर्देशन ऑपरेटर का प्रकार.
सॉकेट रीडायरेक्शन यश का एक्सटेंशन है जिसे POSIX में परिभाषित नहीं किया गया है। बैश के पास भी है
एक्सटेंशन के रूप में सॉकेट पुनर्निर्देशन।
आवृत्ति of पट्टिका वर्णनकर्ता
पुनर्निर्देशन मौजूदा फ़ाइल डिस्क्रिप्टर को डुप्लिकेट करने या बंद करने की अनुमति देता है।
फ़ाइल डिस्क्रिप्टर का दोहराव
<& टोकन
>& टोकन
RSI टोकन फ़ाइलों के पुनर्निर्देशन में विस्तार के अधीन है, लेकिन इसे एक फ़ाइल के रूप में माना जाता है
पथनाम के बजाय वर्णनकर्ता। इस प्रकार विस्तार हुआ टोकन एक गैर-ऋणात्मक पूर्णांक होना चाहिए.
RSI <& और >& ऑपरेटर्स द्वारा निर्दिष्ट फ़ाइल डिस्क्रिप्टर की नकल करते हैं टोकन मानक के अनुसार
क्रमशः इनपुट और आउटपुट। (ऑपरेटरों को एक गैर-नकारात्मक पूर्णांक के साथ उपसर्ग किया जा सकता है
ताकि फ़ाइल डिस्क्रिप्टर को मानक के अलावा किसी अन्य फ़ाइल डिस्क्रिप्टर में डुप्लिकेट किया जा सके
इनपुट या आउटपुट.)
यदि विस्तारित हो टोकन फ़ाइल एक गैर-नकारात्मक पूर्णांक के बजाय एक एकल हाइफ़न है
डिस्क्रिप्टर को डुप्लिकेट करने के बजाय बंद कर दिया गया है। डिफ़ॉल्ट रूप से, <& और >& ऑपरेटर बंद कर देते हैं
क्रमशः मानक इनपुट और आउटपुट, लेकिन ऑपरेटरों को एक के साथ उपसर्ग किया जा सकता है
गैर-नकारात्मक पूर्णांक ताकि अन्य फ़ाइल डिस्क्रिप्टर बंद हो जाए।
POSIXly-सही मोड में, फ़ाइल डिस्क्रिप्टर को डुप्लिकेट किए जाने पर पढ़ने योग्य होना चाहिए <&
द्वारा डुप्लिकेट किए जाने पर ऑपरेटर और लिखने योग्य >& ऑपरेटर.
यहाँ दस्तावेजों और यहाँ उत्पन्न करें तार
यहाँ दस्तावेज़ और यहाँ उत्पन्न करें स्ट्रिंग स्ट्रिंग को पढ़ने वाले फ़ाइल डिस्क्रिप्टर को पुनर्निर्देशन की अनुमति दें
सीधे शेल कमांड में निर्दिष्ट।
यहाँ दस्तावेज़
<< टोकन
<<- टोकन
यहाँ स्ट्रिंग
<< टोकन
यहां दस्तावेज़ या यहां स्ट्रिंग में, मानक इनपुट को एक पठनीय फ़ाइल से बदल दिया जाता है
वर्णनकर्ता. जब कमांड फ़ाइल डिस्क्रिप्टर से पढ़ता है, तो यह इसकी सामग्री को पढ़ेगा
यहां दस्तावेज़/स्ट्रिंग, जिसे नीचे परिभाषित किया गया है।
जब यहां एक दस्तावेज़ ऑपरेटर (<< or <<-) एक कमांड में दिखाई देता है, शेल पढ़ता है
यहां दस्तावेज़ की सामग्री अगली पंक्ति से शुरू होती है। यहां दस्तावेज़ों की सामग्री
इन्हें पार्स नहीं किया जाता और न ही कमांड के रूप में निष्पादित किया जाता है। टोकन ऑपरेंड के बाद एक सीमांकक निर्दिष्ट करता है
जो सामग्री के अंत को इंगित करता है। (द टोकन किसी भी विस्तार के अधीन नहीं है, लेकिन
उद्धरण संसाधित किया गया है।) यहां दस्तावेज़ की सामग्री ठीक पहले समाप्त की गई है
युक्त पहली पंक्ति टोकन केवल। का उपयोग करते समय <<- ऑपरेटर, सभी टैब वर्ण
यहां दस्तावेज़ सामग्री में प्रत्येक पंक्ति की शुरुआत हटा दी गई है और सीमांकक
टोकन टैब वर्णों से पहले हो सकता है।
यदि एक लाइन पर एक से अधिक दस्तावेज़ ऑपरेटर हैं, तो यहां की सामग्री
दस्तावेजों को क्रम में पार्स किया गया है: यहां पहले दस्तावेज़ की सामग्री से शुरू होती है
अगली पंक्ति और पहली पंक्ति से पहले समाप्त होती है टोकन जो पहले के बाद आया
ऑपरेटर। उस पंक्ति के ठीक बाद, दूसरे दस्तावेज़ की सामग्री शुरू होती है, इत्यादि
पर।
यहां दस्तावेज़ों की सामग्री को शाब्दिक रूप से व्यवहार किया जाता है: रिक्त स्थान, टैब इत्यादि यथावत रहते हैं
है। अपवाद यह है कि, जब टोकन बिल्कुल भी उद्धृत नहीं किया गया है:
· सामग्री पैरामीटर विस्तार, कमांड प्रतिस्थापन, अंकगणित के अधीन है
विस्तार।
· सामग्री में बैकस्लैश को उद्धरण के रूप में तभी माना जाता है जब वह पहले आता है $, `,
", या कोई अन्य बैकस्लैश।
· एक बैकस्लैश के बाद एक नई लाइन को लाइन निरंतरता के रूप में माना जाता है।
यहाँ स्ट्रिंग में, टोकन ऑपरेटर के पुनर्निर्देशन के अनुसार विस्तार के अधीन है
फ़ाइलें. विस्तार परिणाम यहां स्ट्रिंग की सामग्री बन जाता है। एक नई पंक्ति का चरित्र
यहां स्ट्रिंग सामग्री के अंत में स्वचालित रूप से जोड़ा जाता है।
यहां स्ट्रिंग यश का एक्सटेंशन है जो POSIX में परिभाषित नहीं है। अन्य शैल जैसे बैश, ksh,
और zsh में समान सुविधा है।
पाइपलाइन पुनर्निर्देशन
पाइपलाइन पुनर्निर्देशन पाइपलाइन खोलने की अनुमति देता है जिनका उपयोग मनमाने उद्देश्यों के लिए किया जा सकता है।
पाइपलाइन पुनर्निर्देशन
>>| टोकन
RSI टोकन फ़ाइलों के पुनर्निर्देशन में विस्तार के अधीन है, लेकिन इसे एक फ़ाइल के रूप में माना जाता है
पथनाम के बजाय वर्णनकर्ता। इस प्रकार विस्तार हुआ टोकन एक गैर-ऋणात्मक पूर्णांक होना चाहिए.
पाइपलाइन पुनर्निर्देशन एक नई पाइपलाइन खोलता है। मानक आउटपुट (या फ़ाइल डिस्क्रिप्टर
ऑपरेटर से पहले निर्दिष्ट, यदि कोई हो) को फ़ाइल डिस्क्रिप्टर के साथ खुले में बदल दिया जाता है
पाइपलाइन को लिखना. फ़ाइल डिस्क्रिप्टर द्वारा निर्दिष्ट टोकन फ़ाइल के साथ प्रतिस्थापित किया गया है
डिस्क्रिप्टर पाइपलाइन से पढ़ने के लिए खुला है।
पाइपलाइन पुनर्निर्देशन यश का विस्तार है जिसे POSIX में परिभाषित नहीं किया गया है।
प्रक्रिया पुनर्निर्देशन
प्रक्रिया पुनर्निर्देशन किसी अन्य कमांड से जुड़ी एक पाइपलाइन बनाता है।
प्रक्रिया पुनर्निर्देशन
<(आदेश...)
>(आदेश...)
प्रक्रिया पुनर्निर्देशन में, आदेश निर्दिष्ट को एक उपकोश में निष्पादित किया जाता है। यदि प्रक्रिया
पुनर्निर्देशन प्रपत्र का है <(आदेश...), का मानक आउटपुट आदेश के साथ जुड़ा हुआ है
पुनर्निर्देशन से जुड़े कमांड के मानक इनपुट के लिए एक पाइपलाइन। यदि
प्रक्रिया पुनर्निर्देशन प्रपत्र का है >(आदेश...), का मानक इनपुट आदेश is
पुनर्निर्देशन कमांड के मानक आउटपुट के लिए एक पाइपलाइन से जुड़ा हुआ है
के साथ जुड़े।
प्रक्रिया पुनर्निर्देशन यश का विस्तार है जिसे POSIX में परिभाषित नहीं किया गया है। बैश और zsh में एक है
सुविधा को प्रक्रिया प्रतिस्थापन कहा जाता है, जो यश की प्रक्रिया के समान वाक्यविन्यास का उपयोग करता है
पुनर्निर्देशन, लेकिन व्यवहार में असंगत रूप से भिन्न है।
कमान कार्यान्वयन
यह अनुभाग बताता है कि कमांड कैसे निष्पादित किए जाते हैं।
निष्पादन of सरल आज्ञाओं
एक साधारण आदेश निम्नानुसार निष्पादित किया जाता है:
1. असाइनमेंट और पुनर्निर्देशन को छोड़कर सरल कमांड में सभी टोकन का विस्तार किया जाता है
टोकन. यदि विस्तार के दौरान कोई त्रुटि होती है, तो सरल आदेश का निष्पादन होता है
गैर-शून्य निकास स्थिति के साथ निरस्त किया गया।
निम्नलिखित चरणों में विस्तार परिणाम के प्रथम शब्द को कहा गया है
आदेश नाम, और अन्य शब्द जैसे आदेश तर्क. यदि का केवल एक ही शब्द है
विस्तार परिणाम, कोई कमांड तर्क शब्द नहीं हैं। यदि इनमें से कोई भी नहीं है
विस्तार परिणाम, कोई कमांड नाम भी नहीं है।
2. कमांड में निर्दिष्ट पुनर्निर्देशन, यदि कोई हो, संसाधित किया जाता है। प्रत्येक के बाद टोकन शब्द
पुनर्निर्देशन ऑपरेटर का विस्तार किया गया है. यदि प्रसंस्करण पुनर्निर्देशन के दौरान कोई त्रुटि होती है
(शब्द टोकन का विस्तार करते समय सहित), इस सरल आदेश का निष्पादन है
गैर-शून्य निकास स्थिति के साथ निरस्त किया गया।
3. कमांड में निर्दिष्ट असाइनमेंट, यदि कोई हो, संसाधित किए जाते हैं। प्रत्येक असाइनमेंट के लिए
टोकन, मान का विस्तार किया जाता है और निर्दिष्ट चर को सौंपा जाता है। यदि कोई त्रुटि है
असाइनमेंट के दौरान होता है (असाइन किए जाने वाले मानों का विस्तार करते समय भी शामिल है)।
इस सरल आदेश का निष्पादन गैर-शून्य निकास स्थिति के साथ निरस्त कर दिया गया है।
· यदि कोई कमांड नाम नहीं है या नाम किसी विशेष अंतर्निहित या फ़ंक्शन को दर्शाता है,
असाइनमेंट स्थायी हैं: असाइन किए गए मान कमांड के बाद भी बने रहते हैं
समाप्त हो गया (जब तक कि वेरिएबल पुन: असाइन नहीं किया जाता)।
· अन्यथा, असाइनमेंट अस्थायी हैं: असाइन किए गए मान केवल इसके दौरान ही रहते हैं
इस सरल आदेश का निष्पादन.
कमांड नाम निर्दिष्ट होने पर निर्दिष्ट चर स्वचालित रूप से निर्यात किए जाते हैं
या ऑल-एक्सपोर्ट विकल्प सक्षम है।
4. यदि कोई कमांड नाम नहीं है, तो कमांड निष्पादन शून्य की निकास स्थिति के साथ समाप्त होता है
(जब तक कि कमांड में कोई कमांड प्रतिस्थापन न हो, उस स्थिति में बाहर निकलें
सरल कमांड की स्थिति अंतिम निष्पादित कमांड प्रतिस्थापन की स्थिति है)।
5. निष्पादित किए जाने वाले कमांड को कमांड सर्च एल्गोरिदम और का उपयोग करके निर्धारित किया जाता है
आदेश निष्पादित किया जाता है।
· यदि कमांड एक बाहरी कमांड है, तो एक नया कमांड बनाकर निष्पादित किया जाता है
सबशेल और सबशेल में "exec" सिस्टम कॉल को कॉल करना। कमांड का नाम और
तर्क निष्पादित आदेश को पारित कर दिए जाते हैं। निर्यातित वेरिएबल को पास कर दिया जाता है
पर्यावरण चर के रूप में निष्पादित कमांड।
· यदि कमांड बिल्ट-इन है, तो बिल्ट-इन को कमांड तर्कों के साथ निष्पादित किया जाता है
अंतर्निर्मित को पारित किया गया।
· यदि कमांड एक फ़ंक्शन है, तो फ़ंक्शन की सामग्री को इसके साथ निष्पादित किया जाता है
फ़ंक्शन तर्कों के रूप में कमांड तर्क।
यदि कमांड निष्पादित किया गया था, तो इस सरल कमांड की निकास स्थिति है
निष्पादित आदेश. यदि एल्गोरिथम किसी कमांड को निर्धारित करने में विफल रहता है, तो कोई कमांड नहीं है
निष्पादित और निकास स्थिति 127 है। यदि शेल निर्धारित निष्पादित करने में विफल रहा
कमांड, निकास स्थिति 126 है। यदि निष्पादित कमांड को सिग्नल द्वारा मार दिया गया था, तो
निकास स्थिति सिग्नल संख्या प्लस 384 है।
नोट
यश के अलावा अन्य शेल में, कमांड के समय निकास स्थिति भिन्न हो सकती है
एक सिग्नल द्वारा मारा गया, क्योंकि POSIX मानक के लिए केवल निकास स्थिति की आवश्यकता होती है
"128 से अधिक" हो
यदि शेल POSIXly-सही मोड में नहीं है और एल्गोरिदम निर्धारित करने में विफल रहा है
एक आदेश, आदेश विकसित करना -i -- "${COMMAND_NOT_FOUND_HANDLER-}" मूल्यांकन किया जाता है. दौरान
कमांड निष्पादन, स्थितीय पैरामीटर अस्थायी रूप से कमांड नाम पर सेट किए जाते हैं
और तर्क जिसके परिणामस्वरूप पहला कदम उठाया गया। के दौरान परिभाषित कोई भी स्थानीय चर
निष्पादन समाप्त होने पर निष्पादन हटा दिया जाता है। सम्भाला स्थानीय चर है
प्रारंभिक मान रिक्त स्ट्रिंग के साथ स्वचालित रूप से परिभाषित होता है। यदि सम्भाला
कमांड स्ट्रिंग का निष्पादन समाप्त होने पर वैरिएबल का एक गैर-रिक्त मान होता है,
शेल दिखावा करता है कि कमांड सफलतापूर्वक निर्धारित और निष्पादित किया गया था। बाहर जाएं
इस मामले में सरल कमांड की स्थिति कमांड स्ट्रिंग की स्थिति है।
आदेश यहाँ खोजें
एक कमांड जिसे एक साधारण कमांड में निष्पादित किया जाता है वह कमांड नाम का उपयोग करके निर्धारित किया जाता है
निम्नलिखित एल्गोरिदम:
1. यदि कमांड नाम में स्लैश है (/), पूरे नाम को माना जाता है
बाहरी कमांड का पथनाम. बाहरी कमांड को इस प्रकार निर्धारित किया जाता है
निष्पादित आदेश.
2. यदि कमांड नाम एक विशेष बिल्ट-इन है, तो बिल्ट-इन को इस प्रकार निर्धारित किया जाता है
निष्पादित आदेश.
3. यदि कमांड नाम किसी मौजूदा फ़ंक्शन का नाम है, तो फ़ंक्शन है
निष्पादित कमांड के रूप में निर्धारित किया गया।
4. यदि कमांड नाम एक अर्ध-विशेष बिल्ट-इन है, तो बिल्ट-इन को निर्धारित किया जाता है
निष्पादित आदेश.
5. यदि कमांड नाम नियमित बिल्ट-इन है, तो बिल्ट-इन को इस प्रकार निर्धारित किया जाता है
निष्पादित आदेश जब तक कि शेल POSIXly-सही मोड में न हो।
6. शेल निष्पादित कमांड के लिए PATH खोजता है:
का मूल्य पथ वेरिएबल को कोलन द्वारा अलग किया जाता है। प्रत्येक पृथक् भाग है
एक निर्देशिका पथनाम के रूप में माना जाता है (एक खाली पथनाम वर्तमान कार्यप्रणाली को दर्शाता है
निर्देशिका)। शेल निर्देशिकाओं को खोजता है (उपस्थिति के क्रम में) और
जाँचता है कि क्या किसी निर्देशिका में सीधे तौर पर एक निष्पादन योग्य नियमित फ़ाइल है जिसका नाम है
कमांड नाम के बराबर. यदि ऐसी कोई फ़ाइल मिलती है:
· यदि कमांड का नाम बिल्ट-इन का नाम है, तो बिल्ट-इन को इस प्रकार निर्धारित किया जाता है
निष्पादित आदेश.
· अन्यथा, फ़ाइल को निष्पादित कमांड के रूप में निर्धारित किया जाता है। (फ़ाइल होगी
बाहरी कमांड के रूप में निष्पादित।)
यदि ऐसी कोई फ़ाइल नहीं मिलती है, तो कोई भी कमांड निष्पादित कमांड के रूप में निर्धारित नहीं किया जाता है।
जब शेल को उपरोक्त खोज के दौरान कमांड नाम से मेल खाने वाली फ़ाइल मिलती है, तो
यदि यह पूर्ण पथ है तो शेल फ़ाइल का पथनाम याद रखता है। जब एल्गोरिथ्म
उपरोक्त का उपयोग फिर से उसी कमांड नाम के लिए किया जाता है, शेल खोज करना छोड़ देता है और सीधे
निष्पादित किये जाने वाले आदेश को निर्धारित करता है। यदि कोई निष्पादन योग्य नियमित फ़ाइल अब मौजूद नहीं है
हालाँकि, याद किए गए पथनाम पर, शेल याद किए गए पथनाम को अद्यतन करने के लिए फिर से खोज करता है
पथनाम. आप अंतर्निहित हैश का उपयोग करके याद किए गए पथनामों को प्रबंधित कर सकते हैं।
समाप्ति of la खोल
शेल तब बाहर निकलता है जब वह इनपुट के अंत तक पहुंच जाता है और सभी इनपुट को पार्स और निष्पादित कर चुका होता है
आदेश या जब अंतर्निहित निकास निष्पादित होता है। शेल की निकास स्थिति है
शेल द्वारा निष्पादित अंतिम कमांड (या यदि कोई कमांड निष्पादित नहीं किया गया तो शून्य)। बाहर जाएं
शेल की स्थिति हमेशा 0 और 255 (समावेशी) के बीच होती है। यदि की निकास स्थिति
अंतिम कमांड 256 या इससे बड़ा है, शेल की निकास स्थिति शेष होगी
निकास स्थिति को 256 से विभाजित किया गया।
यदि एक निकास हैंडलर को ट्रैप बिल्ट-इन द्वारा पंजीकृत किया गया है, तो हैंडलर को निष्पादित किया जाता है
शेल के बाहर निकलने से पहले. हैंडलर में निष्पादित आदेशों की निकास स्थिति नहीं होती है
शेल की निकास स्थिति को प्रभावित करें।
यदि एक गैर-संवादात्मक शेल में निम्नलिखित त्रुटियों में से एक का सामना करना पड़ता है, तो शेल तुरंत
गैर-शून्य निकास स्थिति के साथ निकास:
· सिंटैक्स त्रुटि के कारण एक कमांड को पार्स नहीं किया जा सकता (शेल के दौरान को छोड़कर)।
आरंभीकरण)।
· POSIXly-सही मोड और कमांड तर्कों में एक विशेष अंतर्निहित क्रियान्वित किया जाता है
अंतर्निहित तर्कों के सिंटैक्स से मेल नहीं खाते।
· किसी साधारण कमांड में पुनर्निर्देशन या असाइनमेंट के दौरान त्रुटि उत्पन्न होती है जिसका कमांड
नाम एक विशेष अंतर्निर्मित है और शेल POSIXly-सही मोड में है।
· विस्तार के दौरान एक त्रुटि उत्पन्न होती है (शेल आरंभीकरण को छोड़कर)।
नोट
यश के अलावा कुछ शेल तब बाहर निकल जाते हैं जब उन्हें निष्पादित करने के लिए कोई कमांड नहीं मिल पाती है
आदेश खोज.
कार्य
कार्य एक कंपाउंड कमांड को एक साधारण कमांड के रूप में निष्पादित करने की अनुमति दें। एक समारोह हो सकता है
फ़ंक्शन परिभाषा कमांड द्वारा परिभाषित और एक साधारण कमांड द्वारा निष्पादित। आप उपयोग कर सकते हैं
फ़ंक्शन परिभाषाओं को हटाने के लिए अनसेट अंतर्निहित।
यश प्रारंभ होने पर कोई फ़ंक्शन पूर्वनिर्धारित नहीं होता है।
किसी फ़ंक्शन को उसकी बॉडी निष्पादित करके निष्पादित किया जाता है, जो एक कंपाउंड कमांड है। जब
फ़ंक्शन निष्पादित किया जा रहा है, स्थितीय पैरामीटर दिए गए तर्कों पर सेट किए गए हैं
समारोह। फ़ंक्शन निष्पादन समाप्त होने पर पुराने स्थितीय पैरामीटर पुनर्स्थापित हो जाते हैं।
स्थानीय चर
स्थानीय चर अस्थायी चर हैं जो किसी फ़ंक्शन में परिभाषित होते हैं और मौजूद होते हैं
केवल फ़ंक्शन निष्पादन के दौरान। उन्हें अंतर्निहित टाइपसेट द्वारा परिभाषित किया जा सकता है। वे
फ़ंक्शन निष्पादन समाप्त होने पर हटा दिए जाते हैं।
स्थानीय चर हो सकते हैं छिपाना वेरिएबल जो फ़ंक्शन से पहले ही परिभाषित किए जा चुके हैं
क्रियान्वयन प्रारम्भ हो चुका था। यदि कोई स्थानीय चर है तो मौजूदा चर अप्राप्य हो जाता है
किसी फ़ंक्शन में समान नाम परिभाषित किया गया है। पुराना वेरिएबल फिर से पहुंच योग्य हो जाता है
जब फ़ंक्शन निष्पादन समाप्त हो जाता है।
किसी फ़ंक्शन को निष्पादित न करते समय आप स्थानीय वैरिएबल नहीं बना सकते। एक सामान्य चर है
यदि आप ऐसा करने का प्रयास करते हैं तो बनाया गया।
आदेश निष्पादन वातावरण
निष्पादन के दौरान शेल निम्नलिखित गुण रखता है।
· कार्यशील निर्देशिका
· फ़ाइल डिस्क्रिप्टर खोलें
· फ़ाइल निर्माण मास्क (umask)
· सिग्नलों का सेट जिसका हैंडलर "अनदेखा" (ट्रैप) करने के लिए सेट है
· पर्यावरण चर
· संसाधन सीमाएँ (अलिमिट)
वे गुण शेल के आविष्कारक से शेल तक, और से विरासत में मिले हैं
शेल द्वारा निष्पादित प्रत्येक बाहरी कमांड के लिए शेल।
अंतर्निहित कमांड द्वारा शेल के निष्पादन के दौरान गुणों को बदला जा सकता है,
परिवर्तनीय असाइनमेंट, आदि
सदस्यता
A निर्वाह करना शेल प्रक्रिया की एक प्रति है. के निष्पादन में उपकोशों का प्रयोग किया जाता है
समूहीकरण, पाइपलाइन, आदि।
उपकोश को शेल में परिभाषित फ़ंक्शन, उपनाम आदि विरासत में मिलते हैं
उपरोक्त गुण चूंकि उपकोश शेल प्रक्रिया की प्रतियां हैं। उल्लेखनीय अपवाद
यह है:
· अंतर्निर्मित ट्रैप द्वारा पंजीकृत ट्रैप को छोड़कर सभी ट्रैप को सबशेल में रीसेट कर दिया जाता है
जिसकी कार्रवाई "अनदेखा" पर सेट है। (नीचे देखें)
· इंटरैक्टिव मोड और कार्य नियंत्रण उपकोशों में अक्षम हैं। नौकरियाँ नहीं हैं
उपकोशों द्वारा विरासत में मिला।
उपकोशों को मूल शेल से स्वतंत्र रूप से क्रियान्वित किया जाता है, इसलिए किसी में भी परिवर्तन होता है
उपरोक्त गुण मूल शेल के गुणों को प्रभावित नहीं करते हैं।
नोट
यदि उपकोश में एक ही जाल अंतर्निर्मित है, तो कुछ गोले (लेकिन यश नहीं) हो सकते हैं
उपकोश में प्रवेश पर जाल को रीसेट न करें।
इंटरैक्टिव मोड
RSI इंटरैक्टिव मोड उपयोगकर्ता के साथ सीधे संपर्क के लिए शेल का एक मोड है।
यदि यश इंटरैक्टिव मोड में है, तो इसे एन कहा जाता है इंटरैक्टिव खोल.
कोई शेल इंटरैक्टिव मोड में चलता है या नहीं, यह इनवोकेशन में निर्धारित होता है
शंख। शेल शुरू होने के बाद, इंटरैक्टिव मोड को चालू या बंद नहीं किया जा सकता है।
जब शेल इंटरैक्टिव हो:
· इनिशियलाइज़ेशन स्क्रिप्ट्स को मंगलाचरण के दौरान निष्पादित किया जाता है।
· शेल मेल की जांच करता है और कमांड पढ़ते समय कमांड प्रॉम्प्ट प्रिंट करता है। काम
यदि कार्य नियंत्रण सक्रिय है तो स्थिति परिवर्तन की भी सूचना दी जाती है। लाइन-संपादन का उपयोग किया जा सकता है
टर्मिनल की क्षमता पर निर्भर करता है।
· निष्पादित कमांड स्वचालित रूप से कमांड इतिहास में पंजीकृत हो जाते हैं।
· यदि शेल द्वारा निष्पादित कमांड को SIGINT के अलावा किसी अन्य सिग्नल द्वारा मार दिया जाता है
SIGPIPE, शेल मानक त्रुटि के तथ्य की रिपोर्ट करता है।
· फ़ाइल नाम टोकन फ़ाइल पुनर्निर्देशन में पथनाम विस्तार के अधीन है।
· एसिंक्रोनस कमांड का मानक इनपुट स्वचालित रूप से रीडायरेक्ट नहीं किया जाता है
/dev/null (केवल POSIXly-सही मोड में)।
· कमांड के दौरान सिंटैक्स या विस्तार त्रुटि का सामना करने पर शेल बाहर नहीं निकलता है
कार्यान्वयन। (सीएफ. शेल की समाप्ति)
· जब शेल को SIGINT, SIGTERM, या SIGQUIT सिग्नल प्राप्त होता है तो वह बाहर नहीं निकलता है।
· सिग्नल हैंडलर को अंतर्निहित जाल द्वारा बदला जा सकता है, भले ही हैंडलर सेट किया गया हो
जब शेल का आह्वान किया गया तो उसे "अनदेखा" करना।
· का मूल्य - विशेष पैरामीटर शामिल हैं i.
· शेल का स्थान इसके मूल्य को दर्शाता है एलसी_CTYPE जब भी मान हो तो परिवर्तनीय
बदला गया (यदि शेल POSIXly-सही मोड में नहीं है)।
· निष्पादन विकल्प बंद होने पर भी कमांड निष्पादित होते हैं।
· सक्षम होने पर इग्नोर-ईओएफ विकल्प प्रभावी होता है।
· जब शेल इनपुट के अंत तक पहुंचता है या अंतर्निहित निकास निष्पादित होता है, तो शेल
जाँचता है कि क्या कोई काम रुका हुआ है। यदि ऐसा है, तो शेल एक चेतावनी प्रिंट करता है और नहीं
वास्तव में बाहर निकलें.
यदि यह एक सत्र लीडर है तो डिफ़ॉल्ट रूप से अंतर्निहित सस्पेंड शेल को रोक नहीं सकता है।
· जब अंतर्निहित डॉट पढ़ने के लिए स्क्रिप्ट फ़ाइल ढूंढने में विफल रहता है तो शेल बाहर नहीं निकलता है।
· जब अंतर्निहित कार्यकारी किसी कमांड को निष्पादित करने में विफल रहता है तो शेल बाहर नहीं निकलता है (यदि अंदर नहीं है)।
POSIXly-सही मोड)।
· जब कोई कार्य समाप्त हो जाता है जिसके लिए प्रतीक्षा की जा रही थी, तो तथ्य की सूचना दी जाती है
(केवल तभी जब कार्य नियंत्रण सक्रिय हो और POSIXly-सही मोड में न हो)।
· जब रीड इन बिल्ट दूसरी या निम्नलिखित पंक्ति पढ़ता है तो एक प्रॉम्प्ट मुद्रित होता है।
संकेतों
इंटरैक्टिव शेल एक प्रिंट करता है शीघ्र किसी आदेश को पढ़ने से ठीक पहले। की सामग्री
प्रॉम्प्ट के मान द्वारा निर्दिष्ट किया जाता है PS1 और PS2 चर। पूर्व का उपयोग किया जाता है
कमांड की पहली पंक्ति को पढ़ना और बाद वाली को अन्य पंक्तियों के लिए पढ़ना।
जब प्रॉम्प्ट मुद्रित होता है, तो चर मान पैरामीटर विस्तार के अधीन होता है,
कमांड प्रतिस्थापन, और अंकगणितीय विस्तार (लेकिन ध्यान दें कि POSIX मानक की आवश्यकता है
केवल पैरामीटर विस्तार)। विस्तार के परिणाम को नीचे दिए गए नियमों के अनुसार पार्स किया गया है
वास्तविक प्रॉम्प्ट स्ट्रिंग बनाएं, जो मानक त्रुटि पर मुद्रित होती है।
POSIXly-सही मोड में, प्रत्येक विस्मयादिबोधक चिह्न (!स्ट्रिंग में ) को इसके साथ प्रतिस्थापित किया गया है
इनपुट किए जा रहे कमांड का कमांड हिस्ट्री नंबर। दो आसन्न विस्मयादिबोधक
निशान (!!) एकल विस्मयादिबोधक के रूप में मुद्रित होते हैं। अन्य अक्षर अक्षुण्ण मुद्रित हैं.
यदि शेल POSIXly-कमांड मोड में नहीं है, तो निम्नलिखित नोटेशन का उपयोग किया जा सकता है
प्रॉम्प्ट स्ट्रिंग को प्रारूपित करें. नोटेशन को सूची में निर्दिष्ट स्ट्रिंग से बदल दिया जाता है
नीचे। जिन वर्णों की व्याख्या नोटेशन के रूप में नहीं की गई है, उन्हें बरकरार रखा गया है।
\a
बेल कैरेक्टर (ASCII कोड: 7)
\e
एस्केप कैरेक्टर (ASCII कोड: 27)
\j
शेल में नौकरियों की संख्या.
\n
न्यूलाइन कैरेक्टर (ASCII कोड: 10)
\r
कैरिज रिटर्न कैरेक्टर (ASCII कोड: 13)
\!
इनपुट किए जा रहे कमांड का कमांड हिस्ट्री नंबर
\$
# यदि शेल की प्रभावी उपयोगकर्ता आईडी 0 है; $ अन्यथा।
\\
बैकस्लैश
\[, \]
ये दो नोटेशन प्रॉम्प्ट स्ट्रिंग के उस हिस्से को घेर सकते हैं जो पर दिखाई नहीं देता है
टर्मिनल। जब शेल की संख्या गिनता है तो घिरे हुए हिस्से को नजरअंदाज कर दिया जाता है
वे अक्षर जो टर्मिनल पर प्रदर्शित होते हैं, इस प्रकार अक्षर सही ढंग से संरेखित हो जाते हैं
टर्मिनल पर जब प्रॉम्प्ट स्ट्रिंग में विशेष अदृश्य वर्ण होते हैं।
\fफ़ॉन्ट विशिष्टताएँ.
जब लाइन-संपादन सक्रिय होता है, तो इस नोटेशन को विशेष वर्णों से बदल दिया जाता है
यदि टर्मिनल इसके लिए सक्षम है तो टर्मिनल पर फ़ॉन्ट शैलियाँ बदलें। यदि पंक्ति-संपादन
निष्क्रिय है या टर्मिनल फ़ॉन्ट शैलियों को बदलने में असमर्थ है, यह संकेतन है
चुपचाप नजरअंदाज कर दिया. निम्नलिखित में से एक या अधिक का उपयोग किया जा सकता है फ़ॉन्ट विशिष्टताएँ:
k
फ़ॉन्ट का रंग बदलकर काला करें
r
फ़ॉन्ट रंग को लाल में बदलें
g
फ़ॉन्ट का रंग हरा में बदलें
y
फ़ॉन्ट का रंग बदलकर पीला करें
b
फ़ॉन्ट का रंग बदलकर नीला करें
m
फ़ॉन्ट रंग को मैजेंटा में बदलें
c
फ़ॉन्ट रंग को सियान में बदलें
w
फ़ॉन्ट रंग को सफेद में बदलें
K
पृष्ठभूमि का रंग बदलकर काला करें
R
पृष्ठभूमि का रंग बदलकर लाल करें
G
पृष्ठभूमि का रंग हरा में बदलें
Y
पृष्ठभूमि का रंग बदलकर पीला करें
B
पृष्ठभूमि का रंग बदलकर नीला करें
M
पृष्ठभूमि का रंग मैजेंटा में बदलें
C
पृष्ठभूमि का रंग सियान में बदलें
W
पृष्ठभूमि का रंग सफेद में बदलें
t
फ़ॉन्ट रंग या पृष्ठभूमि को उज्जवल बनाएं (केवल इनमें से किसी एक के बाद ही उपयोग किया जा सकता है)।
उपरोक्त अक्षर)
d
फ़ॉन्ट और पृष्ठभूमि रंग को सामान्य में बदलें
s
फ़ॉन्ट को विशिष्ट बनाएं
u
फ़ॉन्ट को रेखांकित करें
v
फ़ॉन्ट और पृष्ठभूमि के रंग उलट दें
b
फ़ॉन्ट को ब्लिंक करें
i
फ़ॉन्ट मंद करें
o
फ़ॉन्ट को बोल्ड करें
x
फ़ॉन्ट को अदृश्य बनाएं
D
रंग और शैली को सामान्य बनाएं
फ़ॉन्ट और पृष्ठभूमि के वास्तविक रंग टर्मिनल द्वारा परिभाषित किए जाते हैं। अलग
टर्मिनल विभिन्न रंगों का उपयोग कर सकते हैं।
सामान्य प्रॉम्प्ट के अलावा, एक प्रॉम्प्ट स्ट्रिंग को दाईं ओर प्रदर्शित किया जा सकता है
यदि लाइन-संपादन सक्रिय है तो कर्सर। उन संकेतों को कहा जाता है सही संकेतों. की सामग्री
सही संकेतों को के मान से परिभाषित किया जाता है पीएस 1 आर और पीएस 2 आर चर, प्रत्येक संगत
को PS1 और PS2 चर।
उपर्युक्त नोटेशन का उपयोग करके, उपयोगकर्ता इनपुट कमांड स्ट्रिंग की फ़ॉन्ट शैली हो सकता है
संकेतों के साथ-साथ परिवर्तन भी किया गया। कमांड स्ट्रिंग्स की फ़ॉन्ट शैली को परिभाषित किया गया है
का मूल्य पीएस1एस और पीएस2एस चर, प्रत्येक के अनुरूप PS1 और PS2 चर। NS
मान में शामिल हो सकते हैं \fफ़ॉन्ट विशिष्टताएँ. केवल संकेतन.
जब शेल POSIXly-सही मोड में नहीं है, तो का मान PROMPT_COMMAND
प्रत्येक प्रॉम्प्ट से पहले वेरिएबल निष्पादित किया जाता है।
आदेश इतिहास
आदेश इतिहास शेल की एक विशेषता है जो अनुमति देने के लिए निष्पादित आदेशों को याद रखती है
बाद में उन्हें पुनः क्रियान्वित करना। इंटरैक्टिव मोड में निष्पादित कमांड स्वचालित रूप से सहेजे जाते हैं
कमांड इतिहास में. सहेजे गए कमांड को लाइन-एडिटिंग का उपयोग करके संपादित और पुन: निष्पादित किया जा सकता है
और एफसी और इतिहास बिल्ट-इन।
आदेश पंक्ति दर पंक्ति सहेजे जाते हैं. वे पंक्तियाँ जिनमें कोई भी गैर-व्हाट्सएप वर्ण नहीं है
इतिहास में सहेजे नहीं गए हैं. रिक्त स्थान से शुरू होने वाली पंक्तियाँ तब सहेजी नहीं जातीं जब
हिस्ट-स्पेस विकल्प चालू है।
कमांड इतिहास एक फ़ाइल में सहेजा गया है। जब इंटरैक्टिव शेल के बाद इतिहास का पहली बार उपयोग किया जाता है
प्रारंभ किया गया था, शेल इतिहास को सहेजने के लिए एक फ़ाइल खोलता है। फ़ाइल नाम द्वारा निर्दिष्ट किया गया है
का मूल्य हिस्टफाइल चर। यदि खोलने पर फ़ाइल में इतिहास डेटा है, तो डेटा है
शेल के इतिहास को पुनर्स्थापित किया गया। फ़ाइल सामग्री उपयोगकर्ता के रूप में वास्तविक समय में अपडेट की जाती है
शेल में इनपुट कमांड। यदि हिस्टफाइल वेरिएबल सेट नहीं है या फ़ाइल नहीं हो सकती
सफलतापूर्वक खोला गया, इतिहास फ़ाइल में सहेजा नहीं गया है, लेकिन इतिहास सुविधा होगी
अन्य सभी मामलों में कार्यात्मक।
इतिहास में सहेजे गए आदेशों की संख्या के मान द्वारा निर्दिष्ट की जाती है हिस्टसाइज़
चर। शेल स्वचालित रूप से पुराने इतिहास डेटा को हटा देता है ताकि सहेजे गए की संख्या
आदेश मान से अधिक नहीं है. यदि हिस्टसाइज़ वेरिएबल सेट नहीं है या उसका मान सेट नहीं है
कोई प्राकृतिक संख्या नहीं, 500 आइटम इतिहास में सहेजे जाएंगे।
शेल के मूल्य को देखता है हिस्टफाइल और हिस्टसाइज़ चर केवल जब इतिहास
शेल प्रारंभ होने के बाद पहली बार सुविधा का उपयोग किया जाता है। "इतिहास सुविधा का उपयोग तब किया जाता है" जब:
· एफसी या अंतर्निहित इतिहास निष्पादित किया गया है,
· लाइन-संपादन का उपयोग किया जाता है (भले ही इतिहास डेटा को याद किया गया हो या नहीं)।
पंक्ति-संपादन), या
· एक कमांड शेल में इनपुट है
इसलिए, वेरिएबल्स को आरंभीकरण स्क्रिप्ट में सेट किया जाना चाहिए।
जब यश के एक से अधिक उदाहरण एक ही इतिहास फ़ाइल साझा करते हैं, तो सभी शेल इसका उपयोग करते हैं
वही इतिहास डेटा. परिणामस्वरूप, शेल इंस्टेंस द्वारा निष्पादित कमांड हो सकते हैं
किसी अन्य शेल उदाहरण पर वापस बुलाया जा सकता है। शैलों का इतिहास समान होना चाहिए
वही हिस्टसाइज़ मूल्य ताकि वे इतिहास डेटा में ठीक से हेरफेर कर सकें।
यश की इतिहास डेटा फ़ाइल का अपना प्रारूप है जो अन्य प्रकार के साथ असंगत है
गोले।
RSI हिस्ट्रमडुप डुप्लिकेट इतिहास आइटम को हटाने के लिए वेरिएबल सेट किया जा सकता है।
मेल जाँच
एक इंटरैक्टिव शेल ईमेल की प्राप्ति की सूचना दे सकता है। शेल समय-समय पर जाँच करता है
उपयोगकर्ता द्वारा निर्दिष्ट फ़ाइल की संशोधन तिथि/समय। यदि फ़ाइल को संशोधित किया गया है
पिछले चेक के बाद से, शेल एक अधिसूचना संदेश प्रिंट करता है (सिवाय इसके कि जब शेल
POSIXly-सही मोड में नहीं है और फ़ाइल खाली है)। एक मेलबॉक्स फ़ाइल निर्दिष्ट करके
जाँच की जानी चाहिए, जब फ़ाइल को संशोधित किया गया है, तो शेल एक संदेश प्रिंट करेगा, यानी कुछ
मेल प्राप्त हुआ है.
शेल द्वारा कमांड लाइन प्रॉम्प्ट प्रिंट करने से ठीक पहले चेक किया जाता है। जाँच का अंतराल
द्वारा निर्दिष्ट किया जा सकता है मेल चेक सेकंड में परिवर्तनशील. यदि वेरिएबल मान 0 है, तो जांचें
प्रत्येक संकेत से पहले किया जाता है. यदि परिवर्तनीय मान एक गैर-नकारात्मक पूर्णांक नहीं है, तो नहीं
जाँचें की जाती हैं.
जिस फ़ाइल का संशोधन समय जाँचा गया है वह निर्दिष्ट है मेल परिवर्तनशील।
परिवर्तनीय मान को फ़ाइल के पथनाम पर सेट किया जाना चाहिए।
यदि आप एक से अधिक फ़ाइल की जांच करना चाहते हैं या अधिसूचना संदेश को कस्टमाइज़ करना चाहते हैं, तो आप सेट कर सकते हैं
la मेलपथ के बजाय परिवर्तनीय मेल चर। जब मेलपथ चर सेट है, the
मेल वैरिएबल को नजरअंदाज कर दिया गया है। का मूल्य मेलपथ वेरिएबल को एक या अधिक पर सेट किया जाना चाहिए
जाँच की जाने वाली फ़ाइलों के कोलन-पृथक पथनाम। प्रत्येक पथनाम का अनुसरण a द्वारा किया जा सकता है
प्रतिशत चिह्न (%) और एक कस्टम अधिसूचना संदेश, जो तब मुद्रित होता है
संबंधित फ़ाइल को संशोधित किया गया है. यदि पथनाम में प्रतिशत चिह्न है, तो ऐसा होना चाहिए
बैकस्लैश द्वारा उद्धृत किया जाए। निर्दिष्ट संदेश पैरामीटर विस्तार के अधीन है। के लिए
उदाहरण के लिए, यदि का मान मेलपथ परिवर्तनशील है /फू/मेल%नया मेल!:/बार/मेलबॉक्स%आपके पास है
मिला मेल:/baz/मेल\%डेटा, शेल प्रिंट हो जाएगा
· नया मेल! जब फ़ाइल /foo/mail को संशोधित किया गया हो
· आपने मिला मेल जब फ़ाइल /बार/मेलबॉक्स को संशोधित किया गया हो
· डिफ़ॉल्ट संदेश जब फ़ाइल /baz/mail%data को संशोधित किया गया है।
नौकरी नियंत्रण
काम नियंत्रण शेल का एक फ़ंक्शन है जो एक साथ कई कमांड निष्पादित करता है
आदेशों को निलंबित/फिर से शुरू करता है।
जब नियंत्रण सक्रिय हो:
· शेल द्वारा निष्पादित प्रत्येक पाइपलाइन एक बन जाती है काम. किसी कार्य का अपना विशिष्ट प्रक्रिया समूह होता है
आईडी जो कार्य में सभी प्रक्रियाओं के बीच साझा की जाती है।
· यदि किसी कार्य की प्रक्रियाएँ निलंबित हैं जबकि शेल प्रक्रियाओं की प्रतीक्षा कर रहा है
समाप्त करने के लिए, शेल अगले कमांड पर जारी रहता है जैसे कि प्रक्रिया समाप्त हो गई हो।
शेल कार्य को निलंबित के रूप में याद रखता है ताकि इसे बाद में फिर से शुरू किया जा सके।
· यदि किसी कार्य को समकालिक रूप से निष्पादित किया जाता है, तो शेल अग्रभूमि प्रक्रिया समूह को सेट करता है
कार्य के प्रक्रिया समूह के लिए टर्मिनल। जब कार्य समाप्त हो जाता है (या निलंबित हो जाता है), तो
शेल वापस अग्रभूमि में आ जाता है।
· कमांड प्रतिस्थापन को क्रियान्वित करने वाले उपकोश की अपनी विशिष्ट प्रक्रिया समूह आईडी होती है
एक नौकरी। हालाँकि, शेल उपकोश को एक कार्य के रूप में याद नहीं रखता है, इसलिए ऐसा नहीं हो सकता है
निलंबित या पुनः प्रारंभ किया गया।
· यदि शेल इंटरैक्टिव है, तो प्रत्येक कमांड लाइन प्रॉम्प्ट से पहले कार्य की स्थिति बताई जाती है
मानो आदेश नौकरियों -n निष्पादित किया जाता है।
· एसिंक्रोनस कमांड का मानक इनपुट स्वचालित रूप से रीडायरेक्ट नहीं किया जाता है
/dev/null (जब तक कि POSIXly-सही मोड में न हो)।
· SIGTSTP सिग्नल प्राप्त होने पर शेल बाहर नहीं निकलता है।
· का मूल्य - विशेष पैरामीटर शामिल हैं m.
· जब कोई कार्य समाप्त हो जाता है जिसके लिए प्रतीक्षा की जा रही थी, तो तथ्य की सूचना दी जाती है
(केवल अगर शेल इंटरैक्टिव है और POSIXly-सही मोड में नहीं है)।
जब कार्य नियंत्रण निष्क्रिय होता है, तो शेल द्वारा निष्पादित प्रक्रियाओं में समान प्रक्रिया समूह होता है
शेल के रूप में आईडी. शेल एसिंक्रोनस कमांड को एक अनियंत्रित कार्य के रूप में मानता है।
आप नौकरियों में हेरफेर करने के लिए निम्नलिखित बिल्ट-इन का उपयोग कर सकते हैं:
नौकरियों
मौजूदा नौकरियों को प्रिंट करता है
एफजी और बीजी
अग्रभूमि या पृष्ठभूमि में कार्य चलाएँ
प्रतीक्षा
कार्य समाप्त होने (या निलंबित) होने की प्रतीक्षा करता है
अस्वीकार
नौकरियाँ भूल जाता है
हत्या
नौकरियों के लिए एक संकेत भेजता है
एक इंटरैक्टिव जॉब-कंट्रोलिंग शेल डिफ़ॉल्ट रूप से प्रत्येक प्रॉम्प्ट से पहले जॉब की स्थिति की रिपोर्ट करता है।
आप अन्य समय पर शेल रिपोर्ट स्थिति बनाने के लिए निम्नलिखित विकल्प सेट कर सकते हैं:
सूचित करें
जब भी नौकरी की स्थिति बदलती है तो शेल तुरंत रिपोर्ट करता है।
सूचित करें-le
लाइन-संपादन के दौरान कार्य की स्थिति बदलने पर शेल तुरंत रिपोर्ट करता है।
शेल की कार्य सूची से कोई कार्य तब हटा दिया जाता है जब:
· यह समाप्त हो गया है और "समाप्त" स्थिति की सूचना दी गई है,
· अंतर्निहित प्रतीक्षा कार्य के समाप्त होने तक सफलतापूर्वक प्रतीक्षा की गई, या
· अस्वीकृत बिल्ट-इन ने कार्य को हटा दिया।
नोट
कार्य नियंत्रण के संदर्भ में "रोकें" शब्द "निलंबित" का पर्याय है।
काम ID
कुछ बिल्ट-इन निम्नलिखित नोटेशन का उपयोग करते हैं, जिसे कहा जाता है काम ID, किसी कार्य को निर्दिष्ट करने के लिए
पर काम करता है:
%, %%, %+
वर्तमान नौकरी
%-
पिछली नौकरी
%n
वह कार्य जिसमें कार्य क्रमांक है n, जहां n एक धनात्मक पूर्णांक है
%स्ट्रिंग
जिस काम से नाम शुरू होता है स्ट्रिंग
%?स्ट्रिंग
वह कार्य जिसके नाम में शामिल है स्ट्रिंग
RSI वर्तमान काम और पिछला काम निम्नलिखित के अनुसार शेल द्वारा चयनित नौकरियां हैं
नियम:
· जब एक या अधिक निलंबित नौकरियां होती हैं, तो उनमें से वर्तमान नौकरी का चयन किया जाता है।
· जब वर्तमान नौकरी, पिछली नौकरी के अलावा एक या अधिक निलंबित नौकरियां हों
उनमें से चयन किया जाता है.
· वर्तमान और पिछली नौकरियाँ हमेशा भिन्न होती हैं। जब शेल का केवल एक ही काम हो,
यह वर्तमान कार्य है और कोई पिछला कार्य नहीं है।
· जब वर्तमान कार्य समाप्त हो जाता है, तो पिछला कार्य वर्तमान कार्य बन जाता है।
· जब वर्तमान नौकरी बदली जाती है, तो पुरानी वर्तमान नौकरी छोड़कर पिछली नौकरी बन जाती है
जब पुराना काम ख़त्म हो गया.
· जब अग्रभूमि कार्य निलंबित कर दिया जाता है, तो कार्य वर्तमान कार्य बन जाता है।
यश के पास वर्तमान/पिछली नौकरी चयन के नियमों को संशोधित करने के लिए कुछ विकल्प हैं। (द
उपरोक्त नियमों को नीचे दिए गए विकल्पों पर प्राथमिकता दी गई है।)
cur-async
जब एक नया एसिंक्रोनस कमांड शुरू किया जाता है, तो यह वर्तमान कार्य बन जाता है।
cur-bg
जब किसी कार्य को बीजी बिल्ट-इन द्वारा फिर से शुरू किया जाता है, तो वह कार्य वर्तमान कार्य बन जाता है।
कर-स्टॉप
जब कोई नौकरी निलंबित हो जाती है, तो वह वर्तमान नौकरी बन जाती है।
जब तक उपरोक्त नियम पूरे होते हैं तब तक वर्तमान और पिछली नौकरियाँ नहीं बदली जातीं।
POSIX मानक में परिभाषित वर्तमान/पिछली नौकरी चयन के नियम ढीले हैं
उपरोक्त यश के नियमों की तुलना में। अन्य POSIX-संगत शेल वर्तमान और पिछले का चयन कर सकते हैं
नौकरियाँ अलग-अलग।
निर्मित में कमानों
अन्तर्निर्मित में आज्ञाओं वे कमांड हैं जो शेल में लागू होते हैं और द्वारा निष्पादित होते हैं
बाहरी प्रोग्राम के बिना शेल।
प्रकार of में निर्मित आज्ञाओं
यश में तीन प्रकार के बिल्ट-इन कमांड हैं: विशेष बिल्ट-इन कमांड,
अर्ध-विशेष अंतर्निर्मित कमांड और नियमित अंतर्निर्मित कमांड।
विशिष्ट में निर्मित आज्ञाओं अन्य की तुलना में बहुत अधिक महत्वपूर्ण आदेश हैं। उन्हें निष्पादित किया जाता है
इस बात की परवाह किए बिना कि संबंधित बाहरी आदेश मौजूद हैं या नहीं। के परिणाम
वेरिएबल असाइनमेंट जो एक साधारण कमांड में होते हैं जो एक विशेष अंतर्निहित अंतिम को आमंत्रित करते हैं
आदेश समाप्त होने के बाद. इसके अलावा, POSIXly-सही मोड में, एक गैर-इंटरैक्टिव
रीडायरेक्ट त्रुटि, असाइनमेंट होने पर शेल तुरंत गैर-शून्य निकास स्थिति के साथ बाहर निकल जाता है
त्रुटि, या विकल्प या ऑपरेंड का दुरुपयोग एक विशेष अंतर्निहित कमांड में होता है।
अर्ध विशेष में निर्मित आज्ञाओं दूसरे महत्वपूर्ण अंतर्निर्मित कमांड हैं। वे हैं
इस पर ध्यान दिए बिना कि संबंधित बाहरी आदेश मौजूद हैं या नहीं, निष्पादित किया जाता है। अन्य में
वे नियमित अंतर्निर्मित कमांड के समान ही हैं।
नियमित में निर्मित आज्ञाओं कम महत्वपूर्ण अंतर्निर्मित कमांड हैं जिनमें वे कमांड भी शामिल हैं जो कर सकते हैं
बाहरी कमांड के रूप में कार्यान्वित किया जाएगा या POSIX में सूचीबद्ध नहीं किया जाएगा। POSIXly-सही में
मोड, एक नियमित अंतर्निर्मित केवल तभी निष्पादित किया जाता है जब संबंधित बाहरी कमांड पाया जाता है
पथ में.
वाक्य - विन्यास of आदेश तर्क
इस अनुभाग में हम कमांड तर्कों के बारे में सामान्य नियम बताते हैं। के अंतर्निर्मित आदेश
जब तक अन्यथा न कहा जाए, यश नियमों का पालन करें।
कमांड तर्क दो प्रकार के होते हैं। एक है विकल्प और दूसरा है ऑपरेंड। एक
विकल्प एक तर्क है जो एक हाइफ़न से शुरू होता है (-) और कमांड का तरीका बदल देता है
व्यवहार करता है. कुछ विकल्प तर्क लेते हैं। एक ऑपरेंड एक तर्क है जो एक विकल्प नहीं है और
उन वस्तुओं को निर्दिष्ट करता है जिन पर कमांड संचालित होता है।
यदि आप किसी कमांड के लिए एक से अधिक विकल्प निर्दिष्ट करते हैं, तो विकल्पों का क्रम सामान्य रूप से होता है
महत्वपूर्ण नहीं है। हालाँकि, ऑपरेंड का क्रम कमांड व्यवहार को प्रभावित करता है।
एक विकल्प या तो एकल-वर्ण विकल्प या लंबा विकल्प होता है। एक एकल-वर्ण विकल्प
एक वर्णमाला वर्ण से पहचाना जाता है। एक लंबे विकल्प की पहचान एकाधिक द्वारा की जाती है
वर्णमाला वर्ण. POSIX मानक केवल एकल-वर्ण विकल्प निर्धारित करता है, इसलिए
POSIXly-सही मोड में आप लंबे विकल्पों का उपयोग नहीं कर सकते।
एक एकल-वर्ण विकल्प एक हाइफ़न से बना होता है जिसके बाद एक अक्षर आता है। उदाहरण के लिए, -a is
एक एकल-वर्ण विकल्प. एक एकल-वर्ण विकल्प जो तर्क लेता है, उसकी आवश्यकता होती है
विकल्प नाम के ठीक बाद होने वाला तर्क।
उदाहरण 4. RSI सेट में निर्मित और एकल वर्ण विकल्पों
अंतर्निहित सेट के लिए, -m एक एकल-वर्ण विकल्प है जो कोई तर्क नहीं लेता है
-o वह है जो तर्क लेता है।
· सेट -o इरेक्सिट -m
· सेट -oerrexit -m
इन दो कमांड लाइन में, इरेक्सिट के लिए तर्क है -o विकल्प.
उपरोक्त दूसरे उदाहरण में, -o विकल्प और उसके तर्क को एक में जोड़ दिया जाता है
कमांड लाइन तर्क. POSIX मानक उस शैली और किसी भी POSIX-अनुरूपता को अस्वीकार करता है
एप्लिकेशन को विकल्प और उनके तर्कों को अलग कमांड लाइन तर्कों के रूप में निर्दिष्ट करना होगा,
हालाँकि यश दोनों शैलियों को स्वीकार करता है।
आप एकल-वर्ण विकल्पों को संयोजित कर सकते हैं जो तर्कों को एक ही कमांड में नहीं लेते हैं
पंक्ति तर्क. उदाहरण के लिए, तीन विकल्प -a, -b और -c में जोड़ा जा सकता है एबीसी.
एक लंबा विकल्प दो हाइफ़न से बना होता है जिसके बाद एक विकल्प नाम आता है। उदाहरण के लिए,
--लंबा-विकल्प एक लंबा विकल्प है. आप किसी लंबे विकल्प नाम के कुछ अंतिम वर्णों को छोड़ सकते हैं
जब तक यह अस्पष्ट न हो. उदाहरण के लिए, आप उपयोग कर सकते हैं --लंबा के बजाय --लंबा-विकल्प if
शुरुआत के लिए कोई अन्य विकल्प नहीं है --लंबा. एक एकल-वर्ण विकल्प की तरह, एक लंबा
जो विकल्प तर्क लेता है, उसके लिए तर्क को केवल कमांड लाइन तर्क होना आवश्यक है
विकल्प नाम के बाद या विकल्प के समान कमांड लाइन तर्क में निर्दिष्ट किया जाना है
नाम, एक समान चिह्न द्वारा अलग किया गया (=).
उदाहरण 5. RSI fc में निर्मित और लंबा विकल्पों
एफसी अंतर्निर्मित के लिए, --शांत एक लंबा विकल्प है जिसमें कोई तर्क नहीं होता है --संपादक
वह है जो तर्क लेता है।
· fc --संपादक vi --शांत
· fc --संपादक=vi --शांत
इन कमांड लाइनों में, vi के लिए तर्क है --संपादक विकल्प.
जो तर्क विकल्प नहीं हैं (न ही उनके लिए तर्क) उनकी व्याख्या ऑपरेंड के रूप में की जाती है।
POSIX मानक के लिए आवश्यक है कि किसी भी ऑपरेंड से पहले सभी विकल्प निर्दिष्ट किए जाएं। इसलिए, में
POSIXly-सही मोड, पहले ऑपरेंड के बाद आने वाले किसी भी तर्क की व्याख्या की जाती है
ऑपरेंड के रूप में (भले ही वे विकल्प की तरह दिखते हों)। यदि POSIXly-सही मोड में नहीं है, तो आप कर सकते हैं
ऑपरेंड के बाद विकल्प निर्दिष्ट करें।
भले ही शेल POSIXly-सही मोड में है या नहीं, यह एक तर्क है
बस दो हाइफ़न से बना है (--) का उपयोग विकल्पों और ऑपरेंड के बीच विभाजक के रूप में किया जा सकता है।
के बाद सभी कमांड लाइन तर्क -- विभाजक की व्याख्या ऑपरेंड के रूप में की जाती है, इसलिए आप ऐसा कर सकते हैं
विभाजक का उपयोग करके सही ढंग से एक हाइफ़न से शुरू होने वाले ऑपरेंड को निर्दिष्ट करें।
उदाहरण 6. ऑप्शंस और ऑपरेंड सेवा मेरे la सेट में निर्मित
· सेट -a -b -- -c -d
इस उदाहरण में, -a और -b विकल्प हैं और -c और -d ऑपरेंड हैं. -- विभाजक स्वयं
न तो कोई विकल्प है और न ही कोई ऑपरेंड।
भले ही शेल POSIXly-सही मोड में है या नहीं, यह एक तर्क है
बस एक ही हाइफ़न से बना है (-) की व्याख्या एक ऑपरेंड के रूप में की जाती है।
पंक्ति-संपादन
उसके साथ पंक्ति-संपादन सुविधा, जब आप कोई कमांड इनपुट करते हैं तो आप कमांड टेक्स्ट को संपादित कर सकते हैं
एक इंटरैक्टिव शेल. यह न केवल एक साधारण विज़ुअल-इंटरफ़ेस संपादक के रूप में काम करता है, बल्कि है भी
कमांड इतिहास के साथ एकीकृत। आप इसमें कमांड को याद कर सकते हैं, संपादित कर सकते हैं और निष्पादित कर सकते हैं
एफसी बिल्ट-इन का उपयोग करने के बजाय लाइन-एडिटिंग के साथ इतिहास।
लाइन-एडिटिंग में दो संपादन मोड हैं, vi और emacs मोड, जिनमें से प्रत्येक की अपनी कुंजी होती है
बाइंडिंग सेटिंग। संपादन मोड स्विच करके, आप इसमें प्रयुक्त कुंजी बाइंडिंग को बदल सकते हैं
पंक्ति-संपादन. प्रत्येक मोड में एक संगत शेल विकल्प होता है, जो यह निर्धारित करता है कि क्या
मोड वर्तमान में सक्रिय है या नहीं. एक समय में एक से अधिक मोड सक्रिय नहीं हो सकते, इसलिए
जब आप के लिए विकल्प चालू करते हैं तो अन्य मोड के विकल्प स्वचालित रूप से बंद हो जाते हैं
एक मोड. उन विकल्पों के बंद होने पर संपूर्ण पंक्ति-संपादन सुविधा निष्क्रिय हो जाती है।
जब एक इंटरैक्टिव शेल शुरू किया जाता है, तो vi मोड स्वचालित रूप से सक्रिय हो जाता है
मानक इनपुट और त्रुटि दोनों एक टर्मिनल से जुड़े हुए हैं।
लाइन-एडिटिंग का उपयोग केवल तभी किया जा सकता है जब मानक इनपुट और त्रुटि दोनों एक से जुड़े हों
टर्मिनल। यदि नहीं, तो शेल चुपचाप सामान्य इनपुट तंत्र में वापस आ जाता है। जबकि
लाइन-एडिटिंग का उपयोग किया जा रहा है, शेल I/O सेटिंग्स को बदलने के लिए टर्मियोस इंटरफ़ेस का उपयोग करता है
इनपुट कुंजी अनुक्रमों को पार्स करने के लिए टर्मिनल और टर्मइन्फो इंटरफ़ेस।
खोल विकल्पों on पंक्ति-संपादन
लाइन-संपादन को सक्षम करने और एक चुनने के लिए अंतर्निहित सेट द्वारा निम्नलिखित विकल्प सेट किए जा सकते हैं
सक्रिय करने के लिए संपादन मोड:
vi
vi मोड सक्रिय करता है।
Emacs
Emacs मोड सक्रिय करता है।
अन्य पंक्ति-संपादन-संबंधित विकल्प हैं:
ले-हमेशा-आरपी
जब यह विकल्प सक्षम होता है, तो सही प्रॉम्प्ट हमेशा दिखाई देता है: जब कर्सर
सही प्रॉम्प्ट पर पहुँचकर, यह मूल स्थिति से अगली पंक्ति में चला जाता है, जो
अन्यथा इनपुट टेक्स्ट द्वारा अधिलेखित कर दिया जाएगा।
ले-कॉम्प-डिबग
सक्षम होने पर, पूरा होने के दौरान आंतरिक जानकारी मुद्रित होती है, जिससे मदद मिलेगी
डिबगिंग पूर्ण स्क्रिप्ट।
ले-कन्व-मेटा
सक्षम होने पर, प्रत्येक इनपुट बाइट के 8वें बिट को हमेशा मेटा-कुंजी ध्वज के रूप में माना जाता है,
टर्मइन्फो डेटा की परवाह किए बिना।
ले-नो-कन्व-मेटा
सक्षम होने पर, प्रत्येक इनपुट बाइट के 8वें बिट को कभी भी मेटा-कुंजी ध्वज के रूप में नहीं माना जाता है,
टर्मइन्फो डेटा की परवाह किए बिना।
ले-कन्व-मेटा और ले-नो-कन्व-मेटा विकल्प दोनों को एक समय में सक्षम नहीं किया जा सकता है। कब
या तो सक्षम है, दूसरा स्वचालित रूप से अक्षम है। जब कोई भी सक्षम नहीं होता है, तो
टर्मइन्फो डेटा के आधार पर 8वें बिट को मेटा-की फ़्लैग के रूप में माना जा सकता है।
ले-प्रॉम्प्ट-एसपी
सक्षम होने पर, शेल प्रत्येक को प्रिंट करने से पहले एक विशेष वर्ण अनुक्रम प्रिंट करता है
प्रॉम्प्ट ताकि प्रत्येक प्रॉम्प्ट एक पंक्ति की शुरुआत में मुद्रित हो।
यह विकल्प डिफॉल्ट द्वारा सक्षम हो जाता है।
ले-दृश्य-घंटी
सक्षम होने पर, शेल अलार्म बजने के बजाय टर्मिनल को फ्लैश करता है
चेतावनी आवश्यक है.
संपादन मोड
RSI vi मोड एक संपादन मोड है जो vi संपादक के समान कुंजी बाइंडिंग प्रदान करता है।
Vi मोड में दो उप-मोड हैं जो संपादन के दौरान स्विच किए जाते हैं: इन्सर्ट और कमांड
मोड. जब लाइन-एडिटिंग शुरू की जाती है तो सब-मोड हमेशा इन्सर्ट मोड पर रीसेट हो जाता है
नई कमांड लाइन. इन्सर्ट मोड में, अधिकांश अक्षर टाइप किए गए अनुसार बफ़र में डाले जाते हैं।
कमांड मोड में, इनपुट वर्णों को कमांड के रूप में माना जाता है जो कर्सर को घुमाते हैं,
टेक्स्ट सम्मिलित करना/हटाना, आदि।
RSI Emacs मोड Emacs संपादक के समान कुंजी बाइंडिंग प्रदान करता है। अधिकांश पात्र हैं
टाइप किए गए अनुसार बफ़र में डाला जाता है, लेकिन vi की तुलना में अधिक वर्णों को कमांड के रूप में माना जाता है
सम्मिलित मोड.
जब आप खोज कीवर्ड दर्ज करते हैं तो एक अन्य उप-मोड का उपयोग किया जाता है। उप-मोड को कहा जाता है
यहाँ खोजें मोड, जो सक्रिय संपादन के आधार पर थोड़ी भिन्न कुंजी बाइंडिंग प्रदान करता है
मोड।
पंक्ति-संपादन आज्ञाओं
लाइन-संपादन सक्रिय होने पर उपयोगकर्ता द्वारा दर्ज किए गए सभी वर्णों को लाइन-संपादन माना जाता है
नीचे सूचीबद्ध आदेश. अंतर्निहित बाइंडकी प्रत्येक की कुंजी बाइंडिंग को अनुकूलित करने की अनुमति देती है
मोड (खोज मोड को छोड़कर)।
नीचे दी गई सूची न केवल कमांड के कार्यों को दिखाती है बल्कि डिफ़ॉल्ट कुंजी बाइंडिंग को भी दिखाती है।
कीवर्ड "vi-insert", "vi-command", "vi-search", "emacs", "emacs-search" का अर्थ है vi
इन्सर्ट मोड, vi कमांड मोड, vi मोड के लिए खोज मोड (vi खोज मोड),
Emacs मोड, और Emacs मोड के लिए खोज मोड (Emacs खोज मोड),
क्रमशः.
कुछ कमांड एक तर्क लेते हैं जो कमांड के कार्य को प्रभावित करता है। उदाहरण के लिए,
फ़ॉरवर्ड-चार कमांड कर्सर को तर्क द्वारा निर्दिष्ट उतने वर्णों तक ले जाता है।
किसी तर्क को निर्दिष्ट करने के लिए, किसी अन्य आदेश से ठीक पहले डिजिट-तर्क कमांड का उपयोग करें
एक तर्क लेता है.
बुनियादी संपादन आज्ञाओं
NOOP
कुछ मत करो।
vi-कमांड
\^[
चेतावनी
चेतावनी।
स्व-सम्मिलित करें
वर्तमान कर्सर स्थिति में इनपुट कैरेक्टर डालें। पात्र भाग निकले
एस्केप अनुक्रम सम्मिलित नहीं किए जा सकते.
vi-सम्मिलित करें, emacs
\\
सम्मिलित टैब
वर्तमान कर्सर स्थिति में एक टैब वर्ण डालें.
Emacs
\^[\^मैं
अपेक्षा-शब्दशः
वर्तमान कर्सर पर इस कमांड के ठीक बाद दर्ज किया गया एक अक्षर डालें
पद। यह कमांड एक ऐसे कैरेक्टर को इनपुट कर सकता है जिसे इनपुट नहीं किया जा सकता है
स्वयं-सम्मिलित आदेश, शून्य वर्ण को छोड़कर ('\0').
vi-डालें, vi-खोज, emacs-खोज
\^वी
Emacs
\^प्र, \^वी
अंक-तर्क
एक तर्क के रूप में इनपुट अंक को अगले कमांड में पास करें।
यह कमांड किसी अंक या हाइफ़न से बंधा हो सकता है। के तर्क के रूप में "12" पास करने के लिए
vi मोड में फॉरवर्ड-चार कमांड, उदाहरण के लिए, दर्ज करें 12l.
vi-कमांड
1, 2, 3, 4, 5, 6, 7, 8, 9
Emacs
\^[0, \^[1, \^[2, \^[3, \^[4, \^[5, \^[6, \^[7, \^[8, \^[9, \^[-,
बोल-या-अंक
यदि कोई तर्क न हो तो आरंभिक पंक्ति के आदेश की तरह; की तरह
अंक-तर्क आदेश अन्यथा।
vi-कमांड
0
स्वीकार-पंक्ति
वर्तमान पंक्ति का संपादन समाप्त करें. लाइन में एक नई लाइन स्वचालित रूप से जुड़ जाती है।
लाइन शेल द्वारा निष्पादित की जाएगी.
वीआई-इंसर्ट, वीआई-कमांड, एमएसीएस, एमएसीएस-सर्च
\^जे, \^एम
निरस्त-रेखा
वर्तमान बफ़र को छोड़ें और संपादन समाप्त करें जैसे कि एक खाली पंक्ति इनपुट थी।
वीआई-इंसर्ट, वीआई-कमांड, वीआई-सर्च, एमएसीएस, एमएसीएस-सर्च
\!, \^सी
EOF
वर्तमान बफ़र को छोड़ें और संपादन समाप्त करें जैसे कि शेल अंत तक पहुँच गया हो
इनपुट. यह सामान्यतः शेल को बाहर निकाल देता है।
ईओएफ-अगर-खाली
यदि बफ़र खाली है तो eof कमांड की तरह; अन्यथा अलर्ट कमांड की तरह।
vi-सम्मिलित करें, vi-कमांड
\#, \^डी
eof-या-हटाएँ
यदि बफ़र खाली है तो eof कमांड की तरह; डिलीट-चार कमांड की तरह
अन्यथा।
Emacs
\#, \^डी
हैश के साथ स्वीकार करें
एक्सेप्ट-लाइन कमांड की तरह, लेकिन:
· एक हैश चिह्न (#) यदि कोई नहीं है तो पंक्ति की शुरुआत में डाला जाता है।
· अन्यथा, हैश चिन्ह पंक्ति की शुरुआत से हटा दिया जाता है।
vi-कमांड
#
Emacs
\^[#
सेटमोड-viinsert
vi इन्सर्ट मोड पर स्विच करें।
vi-कमांड
i, \I
सेटमोड-विकमांड
Vi कमांड मोड पर स्विच करें।
vi-डालें
\^[
setmode-emacs
Emacs मोड पर स्विच करें.
उम्मीद-चार, निरस्त-उम्मीद-चार
ये आदेश उपयोगकर्ता के उपयोग के लिए नहीं हैं। इनका उपयोग शैल द्वारा किया जाता है
कुछ अन्य आदेश लागू करें.
पुनः-सभी
टर्मिनल पर प्रॉम्प्ट और वर्तमान लाइन को दोबारा प्रिंट करें।
वीआई-इंसर्ट, वीआई-कमांड, वीआई-सर्च, एमएसीएस, एमएसीएस-सर्च
\^एल
सभी को साफ़ करें और फिर से बनाएं
टर्मिनल साफ़ करें और प्रॉम्प्ट और वर्तमान लाइन को दोबारा प्रिंट करें।
गति आज्ञाओं
गति आज्ञाओं कर्सर को लाइन पर ले जाएँ. अधिकांश मोशन कमांड एक तर्क स्वीकार करते हैं।
जब कोई तर्क पारित किया जाता है, तो वे कर्सर की गति को उतनी बार दोहराते हैं जितनी बार निर्दिष्ट किया गया हो
तर्क। उदाहरण के लिए, फॉरवर्ड-चार कमांड के तर्क के रूप में "4" पास करना,
कर्सर को चार वर्णों से आगे बढ़ाता है।
दूरी की इकाइयों के रूप में शेल में शब्दों की कई परिभाषाएँ हैं: ए बड़ा शब्द एक है या
अधिक निकटवर्ती गैर-व्हाट्सएप वर्ण। ए अर्धशब्द एक या अधिक निकटवर्ती वर्ण हैं
जिसमें कोई रिक्त स्थान या विराम चिह्न नहीं है। एक emacsword एक या अधिक आसन्न है
अक्षरांकीय वर्ण। ए viword भी है:
· एक या अधिक निकटवर्ती अल्फ़ान्यूमेरिक वर्ण और/या अंडरस्कोर (_), या
· एक या अधिक निकटवर्ती वर्ण जिनमें कोई भी अल्फ़ान्यूमेरिक वर्ण नहीं है,
अंडरस्कोर, और रिक्त स्थान।
फॉरवर्ड-चार
कर्सर को अगले वर्ण पर ले जाएँ.
vi-डालें
\R
vi-कमांड
l, (अंतरिक्ष), \R
Emacs
\R, \^एफ
पिछड़ा-चार
कर्सर को पिछले वर्ण पर ले जाएँ.
vi-डालें
\L
vi-कमांड
h, \B, \L, \?, \^एच
Emacs
\L, \^बी
फॉरवर्ड-बिगवर्ड
कर्सर को अगले बड़े शब्द पर ले जाएँ.
vi-कमांड
W
बड़े शब्द का अंत
कर्सर को किसी बड़े शब्द के अगले सिरे पर ले जाएँ।
vi-कमांड
E
पिछड़ा-बड़ा शब्द
कर्सर को पिछले बड़े शब्द पर ले जाएँ.
vi-कमांड
B
आगे-अर्धशब्द
कर्सर को अगले अर्धशब्द पर ले जाएँ।
अर्धशब्द का अंत
कर्सर को अर्धशब्द के अगले सिरे पर ले जाएँ।
पिछड़ा-अर्धशब्द
कर्सर को पिछले अर्धशब्द पर ले जाएँ।
आगे-viword
कर्सर को अगले विवर्ड पर ले जाएँ।
vi-कमांड
w
शब्द का अंत
कर्सर को किसी शब्द के अगले सिरे पर ले जाएँ।
vi-कमांड
e
बैकवर्ड-विवर्ड
कर्सर को पिछले विवर्ड पर ले जाएँ।
vi-कमांड
b
फॉरवर्ड-ईमैकस्वर्ड
कर्सर को अगले इमैकस्वर्ड पर ले जाएँ।
Emacs
\^[च, \^[एफ
बैकवर्ड-ईमैकस्वर्ड
कर्सर को पिछले emacsword पर ले जाएँ।
Emacs
\^[बी, \^[बी
शुरुआत-लाइन की
कर्सर को पंक्ति के आरंभ में ले जाएँ.
vi-सम्मिलित करें, vi-कमांड
\H
Emacs
\H, \^ए
पंक्ति का अंत
कर्सर को लाइन के अंत तक ले जाएँ।
vi-डालें
\E
vi-कमांड
$, \E
Emacs
\E, \^ई
कॉलम पर जाएं
कर्सर को पर ले जाएँ nपंक्ति पर वां अक्षर, कहाँ n तर्क है. मान लीजिए
n = 1 जब कोई तर्क न हो.
vi-कमांड
|
प्रथम-अरिक्त
कर्सर को पंक्ति के पहले गैर-रिक्त वर्ण पर ले जाएँ।
vi-कमांड
^
खोज-चार
कर्सर को पहले स्थान पर ले जाएँ जहाँ एक अक्षर ठीक बाद में दर्ज किया गया है
यह आदेश वर्तमान कर्सर स्थिति के बाद प्रकट होता है।
vi-कमांड
f
Emacs
\^]
खोज-चार-रेव
कर्सर को अंतिम स्थान पर ले जाएँ जहाँ एक अक्षर ठीक बाद में दर्ज किया गया है
यह आदेश वर्तमान कर्सर स्थिति से पहले प्रकट होता है।
vi-कमांड
F
Emacs
\^[\^]
टिल-चार
कर्सर को अभी-अभी दर्ज किए गए वर्ण के ठीक पहले पहले स्थान पर ले जाएँ
इसके बाद यह कमांड वर्तमान कर्सर स्थिति के बाद दिखाई देता है।
vi-कमांड
t
टिल-चार-रेव
अभी-अभी दर्ज किए गए वर्ण के ठीक बाद कर्सर को अंतिम स्थान पर ले जाएँ
इसके बाद यह आदेश वर्तमान कर्सर स्थिति से पहले प्रकट होता है।
vi-कमांड
T
Refind-char
अंतिम फाइंड-चार, फाइंड-चार-रेव, टिल-चार, टिल-चार-रेव कमांड को फिर से करें।
vi-कमांड
;
पुनः खोज-चार-रेव
अंतिम फाइंड-चार, फाइंड-चार-रेव, टिल-चार, टिल-चार-रेव कमांड को फिर से करें
विपरीत दिशा।
vi-कमांड
,
संपादन आज्ञाओं
संपादन आदेश बफ़र की सामग्री को संशोधित करते हैं। अधिकांश संपादन आदेश स्वीकार करते हैं
तर्क। जब कोई तर्क पारित किया जाता है, तो वे संशोधन को कई बार दोहराते हैं
तर्क द्वारा निर्दिष्ट.
उन आदेशों द्वारा हटाए गए पाठ जिनका नाम "किल" से शुरू होता है, सहेजे जाते हैं हत्या अंगूठीसे,
कौन सी हटाई गई सामग्री को बफ़र में पुनर्स्थापित किया जा सकता है। सबसे नवीनतम 32 ग्रंथ हैं
किल रिंग में रखा गया.
डिलीट-चार
यदि कोई तर्क पारित नहीं किया गया है तो वर्तमान कर्सर स्थिति से एक वर्ण हटा दें; पसंद
किल-चार कमांड अन्यथा।
vi-सम्मिलित करें, emacs
\X
डिलीट-बिगवर्ड
यदि कोई तर्क पारित नहीं किया गया है तो वर्तमान कर्सर स्थिति पर एक बड़ा शब्द हटा दें; की तरह
किल-बिगवर्ड कमांड अन्यथा।
हटाएं-अर्धशब्द
यदि कोई तर्क पारित नहीं किया गया है तो वर्तमान कर्सर स्थिति पर एक अर्धशब्द हटा दें; पसंद
अन्यथा किल-सेमीवर्ड कमांड।
हटाएँ-viword
यदि कोई तर्क पारित नहीं किया गया है तो वर्तमान कर्सर स्थिति पर एक शब्द हटा दें; की तरह
किल-विवर्ड कमांड अन्यथा।
हटाएँ-emacsword
यदि कोई तर्क पारित नहीं किया गया है तो वर्तमान कर्सर स्थिति पर एक इमैकस्वर्ड हटाएं; पसंद
अन्यथा किल-इमैकस्वॉर्ड कमांड।
बैकवर्ड-डिलीट-चार
यदि कोई तर्क नहीं है तो वर्तमान कर्सर स्थिति से ठीक पहले एक वर्ण हटा दें
उत्तीर्ण; अन्यथा बैकवर्ड-किल-चार कमांड की तरह।
vi-सम्मिलित करें, emacs
\B, \?, \^एच
बैकवर्ड-डिलीट-बिगवर्ड
यदि कोई तर्क पारित नहीं किया गया है तो वर्तमान कर्सर स्थिति से ठीक पहले एक बड़ा शब्द हटा दें;
अन्यथा बैकवर्ड-किल-बिगवर्ड कमांड की तरह।
बैकवर्ड-डिलीट-सेमीवर्ड
यदि कोई तर्क नहीं है तो वर्तमान कर्सर स्थिति से ठीक पहले एक अर्धशब्द हटा दें
उत्तीर्ण; अन्यथा बैकवर्ड-किल-सेमीवर्ड कमांड की तरह।
vi-डालें
\^डब्ल्यू
बैकवर्ड-डिलीट-वाइवर्ड
यदि कोई तर्क पारित नहीं किया गया है तो वर्तमान कर्सर स्थिति से ठीक पहले एक शब्द हटा दें;
अन्यथा बैकवर्ड-किल-विवर्ड कमांड की तरह।
बैकवर्ड-डिलीट-ईमैकस्वर्ड
यदि कोई तर्क नहीं है तो वर्तमान कर्सर स्थिति से ठीक पहले एक इमैकस्वर्ड हटाएं
उत्तीर्ण; अन्यथा बैकवर्ड-किल-इमैकस्वर्ड कमांड की तरह।
डिलीट-लाइन
संपूर्ण बफ़र सामग्री हटाएँ.
फॉरवर्ड-डिलीट-लाइन
वर्तमान कर्सर स्थिति से बफ़र के अंत तक सभी वर्ण हटाएँ।
बैकवर्ड-डिलीट-लाइन
वर्तमान कर्सर स्थिति से पहले सभी वर्ण हटाएँ।
vi-डालें
\$, \^यू
मारो-चार
वर्तमान कर्सर स्थिति से एक वर्ण हटाएं और इसे किल रिंग में जोड़ें।
vi-कमांड
x, \X
किल-बिगवर्ड
वर्तमान कर्सर स्थिति पर एक बड़ा शब्द हटाएं और इसे किल रिंग में जोड़ें।
किल-अर्धशब्द
वर्तमान कर्सर स्थिति पर एक अर्धशब्द हटाएं और इसे किल रिंग में जोड़ें।
किल-विवर्ड
वर्तमान कर्सर स्थिति पर एक विवर्ड हटाएं और इसे किल रिंग में जोड़ें।
किल-एमैकस्वर्ड
वर्तमान कर्सर स्थिति पर एक इमैकस्वर्ड हटाएं और इसे किल रिंग में जोड़ें।
Emacs
\^[डी, \^[डी
बैकवर्ड-किल-चार
वर्तमान कर्सर स्थिति से ठीक पहले एक वर्ण हटाएं और इसे किल में जोड़ें
अंगूठी।
vi-कमांड
X
बैकवर्ड-किल-बिगवर्ड
वर्तमान कर्सर स्थिति से ठीक पहले एक बड़ा शब्द हटाएं और इसे किल में जोड़ें
अंगूठी।
Emacs
\^डब्ल्यू
बैकवर्ड-किल-सेमीवर्ड
वर्तमान कर्सर स्थिति से ठीक पहले एक अर्धशब्द हटाएं और इसे किल में जोड़ें
अंगूठी।
बैकवर्ड-किल-वाइवर्ड
वर्तमान कर्सर स्थिति से ठीक पहले एक विवर्ड हटाएं और इसे किल में जोड़ें
अंगूठी।
बैकवर्ड-किल-इमैकस्वर्ड
वर्तमान कर्सर स्थिति से ठीक पहले एक इमैकस्वर्ड हटाएं और इसे किल में जोड़ें
अंगूठी।
Emacs
\^[\B, \^[\?, \^[\^एच
मार-रेखा
संपूर्ण बफ़र सामग्री हटाएँ और इसे किल रिंग में जोड़ें।
फॉरवर्ड-किल-लाइन
वर्तमान कर्सर स्थिति से बफ़र के अंत तक सभी वर्ण हटाएँ
और इसे किल रिंग में जोड़ें।
Emacs
\^के
बैकवर्ड-किल-लाइन
वर्तमान कर्सर स्थिति से पहले सभी वर्ण हटाएं और इसे किल में जोड़ें
अंगूठी।
Emacs
\$, \^यू, \^एक्स\बी, \^एक्स\?
डाल-पहले
अंतिम मारे गए टेक्स्ट को वर्तमान कर्सर स्थिति से पहले डालें और कर्सर को ले जाएँ
डाले गए अंतिम अक्षर तक।
vi-कमांड
P
रखना
वर्तमान कर्सर स्थिति के बाद अंतिम मारे गए टेक्स्ट को डालें और कर्सर को स्थानांतरित करें
डाले गए अंतिम अक्षर तक।
vi-कमांड
p
पुट-लेफ्ट
अंतिम मारे गए टेक्स्ट को वर्तमान कर्सर स्थिति से पहले डालें और कर्सर को ले जाएँ
डाले गए अंतिम अक्षर तक।
Emacs
\^य
पुट-पॉप
अभी डाले गए टेक्स्ट को अगले पुराने मारे गए टेक्स्ट से बदलें।
इस कमांड का उपयोग केवल पुट-बिफोर, पुट, पुट-लेफ्ट या पुट-पॉप के ठीक बाद किया जा सकता है
आदेश।
Emacs
\^[य, \^[य
पूर्ववत
अंतिम संपादन आदेश द्वारा संशोधन रद्द करें।
vi
u
Emacs
\^_, \^X\$, \^एक्स\^यू
सभी को पूर्ववत करें
प्रारंभिक सामग्री को पुनर्स्थापित करते हुए, वर्तमान बफ़र में सभी संशोधन रद्द करें।
vi
U
Emacs
\^[\^आर, \^[आर, \^[आर
रद्द-पूर्ववत करें
अंतिम पूर्ववत करें या पूर्ववत करें आदेश द्वारा रद्दीकरण रद्द करें।
vi
\^आर
रद्द-पूर्ववत-सभी
सभी नवीनतम पूर्ववत और पूर्ववत आदेशों द्वारा सभी रद्दीकरण रद्द करें।
फिर से करना
अंतिम संपादन आदेश द्वारा संशोधन दोहराएँ।
vi-कमांड
.
समापन आज्ञाओं
पूरा
कर्सर स्थिति से ठीक पहले एक शब्द पूरा करें और, यदि एक से अधिक हो
उम्मीदवार, उम्मीदवारों की एक सूची दिखाएं।
पूर्ण-अगला-उम्मीदवार
जब उम्मीदवारों को सूचीबद्ध नहीं किया जा रहा हो तो संपूर्ण आदेश की तरह; अन्यथा, चयन करें
सूची में अगला उम्मीदवार.
vi-सम्मिलित करें, emacs
\^मैं
पूर्ण-पिछला-उम्मीदवार
जब उम्मीदवारों को सूचीबद्ध नहीं किया जा रहा हो तो संपूर्ण आदेश की तरह; अन्यथा, चयन करें
सूची में पिछला उम्मीदवार.
vi-सम्मिलित करें, emacs
\bt
पूर्ण-अगला-कॉलम
जब उम्मीदवारों को सूचीबद्ध नहीं किया जा रहा हो तो संपूर्ण आदेश की तरह; अन्यथा, चयन करें
सूची के अगले कॉलम में पहला उम्मीदवार।
पूर्ण-पिछला-कॉलम
जब उम्मीदवारों को सूचीबद्ध नहीं किया जा रहा हो तो संपूर्ण आदेश की तरह; अन्यथा, चयन करें
सूची में पिछले कॉलम में पहला उम्मीदवार।
पूरा-अगला पृष्ठ
जब उम्मीदवारों को सूचीबद्ध नहीं किया जा रहा हो तो संपूर्ण आदेश की तरह; अन्यथा, चयन करें
सूची में अगले पृष्ठ पर पहला उम्मीदवार।
पूर्ण-पिछला पृष्ठ
जब उम्मीदवारों को सूचीबद्ध नहीं किया जा रहा हो तो संपूर्ण आदेश की तरह; अन्यथा, चयन करें
सूची में पिछले पृष्ठ पर पहला उम्मीदवार।
पूरी लिस्ट
कर्सर स्थिति से ठीक पहले एक शब्द पूरा करें।
यदि आप कोई तर्क पारित नहीं करते हैं, तो पूर्ण उम्मीदवारों की एक सूची दिखाई जाएगी। अन्यथा
शब्द के साथ पूरा होता है nवां उम्मीदवार कहां n तर्क है.
Emacs
\^[?, \^[=
पूर्ण-सर्व
कर्सर की स्थिति से ठीक पहले किसी शब्द को सभी संभव पूर्णता के साथ बदलें
प्रत्येक उम्मीदवार को एक स्थान से अलग किया गया है।
Emacs
\^[*
पूर्ण-अधिकतम
कर्सर की स्थिति से ठीक पहले सबसे लंबे उपसर्ग के साथ एक शब्द पूरा करें
संभावित समापन उम्मीदवार।
स्पष्ट-उम्मीदवार
पूर्ण अभ्यर्थियों की सूची साफ़ करें.
वी-विशिष्ट आज्ञाओं
vi-प्रतिस्थापन-चार
कर्सर स्थिति में वर्ण को उस वर्ण से बदलें जो अभी दर्ज किया गया है
इस आदेश के बाद.
vi-कमांड
r
vi-सम्मिलित-शुरुआत
कर्सर को लाइन की शुरुआत में ले जाएं और vi इन्सर्ट मोड पर स्विच करें।
vi-कमांड
I
vi-संलग्न करें
कर्सर को अगले वर्ण पर ले जाएँ और vi इन्सर्ट मोड पर स्विच करें।
vi-कमांड
I
vi-अपेंड-टू-ईओएल
कर्सर को पंक्ति के अंत तक ले जाएँ और vi इन्सर्ट मोड पर स्विच करें।
vi-कमांड
A
vi-प्रतिस्थापन
vi इन्सर्ट मोड पर स्विच करें और ओवरराइटिंग प्रारंभ करें। ओवरराइटिंग करते समय,
सेल्फ-इंसर्ट कमांड कर्सर की स्थिति के बजाय कैरेक्टर को बदल देता है
एक चरित्र सम्मिलित करना. संपादन मोड बदलने पर ओवरराइटिंग समाप्त हो जाती है।
vi-कमांड
R
vi-स्विच-केस
वर्तमान और अगले कर्सर स्थिति के बीच वर्णों का केस स्विच करें। यह
कमांड के बाद एक मोशन कमांड होना चाहिए, जो अगले कर्सर को निर्धारित करता है
स्थिति.
vi-स्विच-केस-चार
कैरेक्टर के केस को वर्तमान कर्सर स्थिति पर स्विच करें और कर्सर को वहां ले जाएं
अगला पात्र.
vi-कमांड
~
वि-यंक
किल रिंग में वर्तमान और अगले कर्सर स्थिति के बीच के अक्षर जोड़ें।
इस आदेश के बाद एक मोशन कमांड होना चाहिए, जो अगला निर्धारित करता है
कर्सर स्थिति.
vi-कमांड
y
वि-यंक-टू-ईओएल
वर्तमान कर्सर स्थिति से अंत तक के पात्रों को किल रिंग में जोड़ें
रेखा।
vi-कमांड
Y
vi-डिलीट
वर्तमान और अगले कर्सर स्थिति के बीच के वर्ण हटाएं और इसे इसमें जोड़ें
अंगूठी मारो. इस आदेश का पालन एक मोशन कमांड द्वारा किया जाना चाहिए, जो निर्धारित करता है
अगली कर्सर स्थिति.
vi-कमांड
d
vi-डिलीट-टू-ईओएल
वर्तमान कर्सर स्थिति से पंक्ति के अंत तक वर्णों को हटा दें
इसे किल रिंग में जोड़ें।
vi-कमांड
D
vi-परिवर्तन
वर्तमान और अगले कर्सर स्थिति के बीच के वर्ण हटाएं और पर स्विच करें
vi इन्सर्ट मोड. इस आदेश का पालन एक मोशन कमांड द्वारा किया जाना चाहिए, जो
अगली कर्सर स्थिति निर्धारित करता है।
vi-कमांड
c
vi-परिवर्तन-से-ईओएल
वर्तमान कर्सर स्थिति से पंक्ति के अंत तक वर्णों को हटा दें
vi इन्सर्ट मोड पर स्विच करें।
vi-कमांड
C
vi-परिवर्तन-रेखा
संपूर्ण बफ़र सामग्री हटाएँ और vi इन्सर्ट मोड पर स्विच करें।
vi-कमांड
S
वि-यंक-और-परिवर्तन
vi-चेंज कमांड की तरह, लेकिन हटाए गए टेक्स्ट को किल रिंग में जोड़ा जाता है।
वि-यंक-एंड-चेंज-टू-ईओएल
vi-change-to-eol कमांड की तरह, लेकिन हटाए गए टेक्स्ट को किल रिंग में जोड़ा जाता है।
वि-यंक-और-परिवर्तन-रेखा
vi-चेंज-लाइन कमांड की तरह, लेकिन हटाए गए टेक्स्ट को किल रिंग में जोड़ा जाता है।
vi-स्थानापन्न
वर्तमान कर्सर स्थिति से एक वर्ण हटाएं, इसे किल रिंग में जोड़ें, और
vi इन्सर्ट मोड पर स्विच करें।
vi-कमांड
s
vi-आखिरी-बड़ा शब्द जोड़ें
नवीनतम कमांड इतिहास प्रविष्टि में एक स्थान और अंतिम बड़ा शब्द डालें
वर्तमान कर्सर स्थिति के बाद और vi इन्सर्ट मोड पर स्विच करें। यदि तर्क n
पारित हो गया है, nप्रविष्टि में अंतिम के स्थान पर वां बड़ा शब्द डाला गया है।
vi-कमांड
_
vi-कार्यकारी-उपनाम
नामित उपनाम का मान निष्पादित करें _c जहां संपादन आदेश के रूप में c एक चरित्र है
इस आदेश के ठीक बाद इनपुट करें।
vi-कमांड
@
vi-संपादित करें-और-स्वीकार करें
वर्तमान बफ़र सामग्री को संपादित करने के लिए vi संपादक प्रारंभ करें। जब संपादक का काम ख़त्म हो गया,
संपादित बफ़र सामग्री को एक्सेप्ट-लाइन कमांड की तरह स्वीकार किया जाता है जब तक कि
संपादक की निकास स्थिति शून्य नहीं है.
vi-कमांड
v
vi-संपूर्ण-सूची
पूर्ण-सूची कमांड की तरह, लेकिन vi इन्सर्ट मोड पर भी स्विच करें।
vi-कमांड
=
vi-पूर्ण-सभी
संपूर्ण-सभी कमांड की तरह, लेकिन vi इन्सर्ट मोड पर भी स्विच करें।
vi-कमांड
*
vi-पूर्ण-अधिकतम
पूर्ण-अधिकतम कमांड की तरह, लेकिन vi इन्सर्ट मोड पर भी स्विच करें।
vi-कमांड
\\
vi-खोज-आगे
Vi खोज मोड पर स्विच करें और आगे का इतिहास खोज प्रारंभ करें।
vi-कमांड
?
vi-खोज-पिछड़ा
vi खोज मोड पर स्विच करें और पिछड़ा इतिहास खोज प्रारंभ करें।
vi-कमांड
/
Emacs विशेष आज्ञाओं
Emacs-transpose-chars
कर्सर के ठीक पहले किसी अक्षर को दाईं ओर ले जाएँ।
Emacs
\^टी
Emacs-ट्रांसपोज़-शब्द
कर्सर के ठीक पहले दाईं ओर एक इमैकस्वर्ड ले जाएँ।
Emacs
\^[टी, \^[टी
Emacs-डाउनकेस-शब्द
कर्सर लोअरकेस के ठीक बाद एक इमैकस्वर्ड बनाएं।
Emacs
\^[एल, \^[एल
इमैक-अपकेस-शब्द
कर्सर अपरकेस के ठीक बाद एक इमैकस्वर्ड बनाएं।
Emacs
\^[यू, \^[यू
Emacs-बड़े अक्षरों में शब्द
कर्सर के ठीक बाद इमैकस्वर्ड के पहले अक्षर को बड़े अक्षरों में लिखें।
Emacs
\^[सी, \^[यू
Emacs-डिलीट-हॉरिजॉन्टल-स्पेस
कर्सर के चारों ओर रिक्त स्थान हटाएँ. यदि कोई तर्क पारित किया गया था, तो रिक्त स्थान हटा दें
केवल कर्सर से पहले.
Emacs
\^[\\
Emacs-जस्ट-वन-स्पेस
कर्सर के चारों ओर रिक्त स्थान हटाएँ और एक स्थान छोड़ें। यदि कोई तर्क निर्दिष्ट किया गया है,
तर्क के रूप में उतने ही स्थान छोड़ें।
Emacs
\^[ (एक स्थान के बाद भागें)
Emacs-खोज-आगे
Emacs खोज मोड पर स्विच करें और आगे का इतिहास खोज प्रारंभ करें।
Emacs
\^एस
Emacs-खोज-पिछड़ा
Emacs सर्च मोड पर स्विच करें और बैकवर्ड हिस्ट्री सर्च शुरू करें।
Emacs
\^आर
इतिहास से संबंधित आज्ञाओं
सबसे पुराना-इतिहास
इतिहास की सबसे पुरानी प्रविष्टि को याद करें। यदि तर्क n पारित हो गया है, जिसकी प्रविष्टि
वह संख्या है n इसके बजाय याद किया जाता है. कर्सर की स्थिति अपरिवर्तित रहती है.
नवीनतम-इतिहास
इतिहास की नवीनतम प्रविष्टि को याद करें। यदि तर्क n पारित हो गया है, जिसकी प्रविष्टि
वह संख्या है n इसके बजाय याद किया जाता है. कर्सर की स्थिति अपरिवर्तित रहती है.
वापसी-इतिहास
मौजूदा इतिहास प्रविष्टियों में से किसी के अनुरूप प्रारंभिक बफ़र पर वापस लौटें। अगर
तर्क n पारित हो गया है, प्रविष्टि जिसका क्रमांक है n इसके बजाय याद किया जाता है. कर्सर
स्थिति अपरिवर्तित रहती है.
सबसे पुराना-इतिहास-बोल
इतिहास की सबसे पुरानी प्रविष्टि को याद करें और कर्सर को शुरुआत में ले जाएँ
रेखा। यदि तर्क n पारित हो गया है, प्रविष्टि जिसका क्रमांक है n इसके बजाय याद किया जाता है.
vi-कमांड
G
नवीनतम-इतिहास-बोल
इतिहास में नवीनतम प्रविष्टि को याद करें और कर्सर को शुरुआत में ले जाएँ
रेखा। यदि तर्क n पारित हो गया है, प्रविष्टि जिसका क्रमांक है n इसके बजाय याद किया जाता है.
वापसी-इतिहास-बोल
मौजूदा इतिहास प्रविष्टियों में से किसी के अनुरूप प्रारंभिक बफ़र पर लौटें और
कर्सर को पंक्ति की शुरुआत में ले जाएँ। यदि तर्क n पारित हो गया है, प्रवेश
जिसका नंबर है n इसके बजाय याद किया जाता है.
vi-कमांड
g
सबसे पुराना-इतिहास-ईओएल
इतिहास की सबसे पुरानी प्रविष्टि को याद करें और कर्सर को पंक्ति के अंत तक ले जाएँ।
यदि तर्क n पारित हो गया है, प्रविष्टि जिसका क्रमांक है n इसके बजाय याद किया जाता है.
Emacs
\^[
नवीनतम-इतिहास-ईओएल
इतिहास की नवीनतम प्रविष्टि को याद करें और कर्सर को पंक्ति के अंत तक ले जाएँ।
यदि तर्क n पारित हो गया है, प्रविष्टि जिसका क्रमांक है n इसके बजाय याद किया जाता है.
वापसी-इतिहास-ईओएल
मौजूदा इतिहास प्रविष्टियों में से किसी के अनुरूप प्रारंभिक बफ़र पर लौटें और
कर्सर को पंक्ति के अंत तक ले जाएँ। यदि तर्क n पारित हो गया है, जिसकी प्रविष्टि
वह संख्या है n इसके बजाय याद किया जाता है.
Emacs
\^[>
अगला-इतिहास
अगली इतिहास प्रविष्टि याद करें. कर्सर की स्थिति अपरिवर्तित रहती है.
पिछला-इतिहास
पिछली इतिहास प्रविष्टि को याद करें। कर्सर की स्थिति अपरिवर्तित रहती है.
अगला-इतिहास-बोल
अगली इतिहास प्रविष्टि को याद करें और कर्सर को पंक्ति की शुरुआत में ले जाएँ।
vi-कमांड
j, +, \D, \^एन
पिछला-इतिहास-बोल
पिछली इतिहास प्रविष्टि को याद करें और कर्सर को शुरुआत में ले जाएँ
लाइन.
vi-कमांड
k, -, \U, \^प
अगला-इतिहास-ईओएल
अगली इतिहास प्रविष्टि को याद करें और कर्सर को पंक्ति के अंत तक ले जाएँ।
vi-सम्मिलित करें, emacs
\D, \^एन
पिछला-इतिहास-ईओएल
पिछली इतिहास प्रविष्टि को याद करें और कर्सर को पंक्ति के अंत तक ले जाएँ।
vi-सम्मिलित करें, emacs
\U, \^प
फिर से खोजो
अंतिम कमांड इतिहास खोज को दोहराएँ।
vi-कमांड
n
खोज-फिर-रेव
अंतिम कमांड इतिहास खोज को विपरीत दिशा में दोहराएं।
vi-कमांड
N
खोजें-फिर-आगे
अंतिम कमांड इतिहास खोज को आगे की दिशा में दोहराएं।
खोज-फिर-पिछड़ा
पिछली कमांड इतिहास खोज को पीछे की दिशा में दोहराएं।
शुरुआत-खोज-आगे
अगली इतिहास प्रविष्टि को याद करें जो उसी पाठ से शुरू होती है जिस पाठ से
वर्तमान कर्सर स्थिति तक लाइन की शुरुआत। कर्सर स्थिति
कुछ नहीं बदला है।
प्रारंभ-खोज-पिछड़ा
पिछली इतिहास प्रविष्टि को याद करें जो उसी पाठ से शुरू होती है जिस पाठ से
लाइन की शुरुआत से वर्तमान कर्सर स्थिति तक। कर्सर स्थिति
कुछ नहीं बदला है।
खोजें मोड आज्ञाओं
src-स्वयं-सम्मिलित करें
वर्तमान कर्सर स्थिति में इनपुट कैरेक्टर डालें। पात्र भाग निकले
एस्केप अनुक्रम सम्मिलित नहीं किए जा सकते.
vi-खोज, एमएसीएस-खोज
\\
src-backward-delete-char
खोज पाठ में अंतिम अक्षर हटाएँ. यदि पाठ खाली है:
· vi सर्च मोड में होने पर src-abort-search कमांड की तरह, या
· Emacs सर्च मोड में होने पर अलर्ट कमांड की तरह।
vi-खोज, एमएसीएस-खोज
\B, \?, \^एच
srch-बैकवर्ड-डिलीट-लाइन
संपूर्ण खोज पाठ हटाएँ.
vi-खोज, एमएसीएस-खोज
\$, \^यू
src-जारी रखें-आगे
अगली मिलान इतिहास प्रविष्टि खोजें।
Emacs-खोज
\^एस
srch-जारी रखें-पिछड़ा
पिछली मिलान इतिहास प्रविष्टि ढूंढें.
Emacs-खोज
\^आर
src-स्वीकार-खोज
दिखाए जा रहे परिणाम को स्वीकार करते हुए खोज मोड समाप्त करें।
vi-खोज
\^जे, \^एम
Emacs-खोज
\^जे, \^[
srch-निरस्त-खोज
खोज को निरस्त करें और पिछली बफ़र सामग्री को पुनर्स्थापित करें।
vi-खोज
\^[
Emacs-खोज
\^जी
पलायन दृश्यों
बाइंडकी बिल्ट-इन में, एस्केप अनुक्रमों का उपयोग विशेष कुंजी जैसे कि प्रतिनिधित्व करने के लिए किया जाता है
फ़ंक्शन कुंजियाँ और तीर कुंजियाँ। प्रत्येक भागने का क्रम बैकस्लैश से शुरू होता है (\) और इस तरह
बैकस्लैश के लिए एक भागने का क्रम भी है।
नीचे उपलब्ध भागने के क्रम हैं:
\\
बैकस्लैश (\)
\B
बैकस्पेस
\D
नीचे का तीर
\E
समाप्त
\H
होम
\I
सम्मिलित करें (सम्मिलित करें-चार, एंटर-सम्मिलित-मोड)
\L
बायां तीर
\N
पेज-डाउन (अगला पेज)
\P
पेज-अप (पिछला पेज)
\R
दायां तीर
\U
ऊपर की ओर तीर
\X
मिटाना
\!
NRTIs
\#
EOF
\$
मार
\?
मिटा
\^@
Ctrl+@
\^ए, \^बी, ..., \^जेड
Ctrl + A, Ctrl + B, ..., Ctrl + Z
ध्यान दें कि Ctrl + I, Ctrl + J, और Ctrl + M टैब, न्यूलाइन और कैरिज रिटर्न हैं,
क्रमशः.
\^[
Ctrl + [ (एस्केप)
\^\
Ctrl+\
\^]
Ctrl +]
\^^
सीटीआरएल + ^
\^_
Ctrl+_
\^?
Ctrl + ? (मिटाना)
\F00, \F01, ..., \F63
F0, F1, ..., F63
\a1
कीपैड पर ऊपर-बाएँ
\a3
कीपैड पर ऊपर दाईं ओर
\b2
कीपैड पर केन्द्रित करें
\bg
शुरुवात
\bt
बैक टैब
\c1
कीपैड पर नीचे-बाएँ
\c3
कीपैड पर नीचे-दाएँ
\सीए
सभी टैब साफ़ करें
\सीएल
समापन
\cn
रद्द करना
\सह
आदेश
\c
प्रतिलिपि
\करोड़
बनाएं
\cs
स्क्रीन साफ़ करें या मिटाएँ
\ct
क्लियर-टैब
\डीएल
हटाएँ-पंक्ति
\ei
निकास-सम्मिलित-मोड
\el
स्पष्ट-से-अंत-पंक्ति
\es
स्क्रीन का साफ़-से-अंत तक
\et
दर्ज करें (भेजें)
\पूर्व
निकास
\fd
खोज
\hp
मदद
\il
सम्मिलित-पंक्ति
\ll
घर-डाउन
\मुझे
मैसेज
\mk
मार्क
\एमएस
माउस घटना
\mv
चाल
\nx
अगली वस्तु
\पर
प्रारंभिक
\op
ऑप्शंस
\pr
प्रिंट (कॉपी)
\pv
पूर्ववस्तु
\rd
फिर से करना
\दोबारा
फिर से शुरू
\rf
संदर्भ (संदर्भ)
\rh
ताज़ा करना
\rp
बदलें
\rs
पुनः प्रारंभ
\sf
स्क्रॉल-फ़ॉरवर्ड (स्क्रॉल-डाउन)
\sl
चुनते हैं
\sr
स्क्रॉल-बैकवर्ड (स्क्रॉल-अप)
\अनुसूचित जनजाति
सेट-टैब
\सु
निलंबित
\sv
सहेजें
\उद
पूर्ववत करें
\SE
शिफ्ट + एंड
\श
शिफ्ट + होम
\SI
Shift + डालें
\SL
शिफ्ट + बायाँ तीर
\SR
शिफ्ट + दायां तीर
\SX
Shift + Delete
\Sbg
शिफ्ट + शुरुआत
\Scn
शिफ्ट + रद्द करें
\स्को
शिफ्ट + कमांड
\एससीपी
शिफ्ट + कॉपी
\स्क्र
शिफ्ट + क्रिएट
\एसडीएल
शिफ्ट + डिलीट-लाइन
\सेल
शिफ्ट + लाइन का अंत
\लिंग
शिफ्ट + निकास
\Sfd
शिफ्ट + ढूँढें
\शप
शिफ्ट + सहायता
\Smg
शिफ्ट + संदेश
\Smv
शिफ्ट + मूव
\Snx
शिफ्ट + अगला
\सोप
शिफ्ट + विकल्प
\स्प्र
शिफ्ट + प्रिंट
\एसपीवी
शिफ्ट + पिछला
\Srd
शिफ्ट + पुनः करें
\श्री
शिफ्ट + बायोडाटा
\Srp
शिफ्ट + बदलें
\Ssu
शिफ्ट + सस्पेंड
\Ssv
शिफ्ट + सेव
\सुद
शिफ्ट + पूर्ववत करें
INTR, EOF, KILL और ERASE stty कमांड द्वारा कॉन्फ़िगर किए गए विशेष वर्ण हैं। में एक
विशिष्ट कॉन्फ़िगरेशन, उन्हें Ctrl+C, Ctrl+D, Ctrl+U, और Ctrl+H टाइप करके भेजा जाता है,
क्रमशः, लेकिन कुछ कॉन्फ़िगरेशन Ctrl+ का उपयोग करते हैं? ERASE के लिए Ctrl+H के बजाय।
आदेश line समापन
पूर्ण और पूर्ण-अगले-उम्मीदवार कमांड आदि का उपयोग करके, आप कमांड को पूरा कर सकते हैं
नाम, विकल्प और ऑपरेंड। डिफ़ॉल्ट रूप से, पूर्ण-अगला-उम्मीदवार कमांड बाध्य है
vi इन्सर्ट और इमैक मोड में टैब कुंजी के साथ।
कमांड नाम या पथनाम के कुछ पहले अक्षर टाइप करें और टैब कुंजी दबाएं, और एक सूची
मिलते-जुलते नाम दिखाए जाएंगे. आप इसे पूरा करने के लिए सूची में से एक उम्मीदवार चुन सकते हैं
टैब कुंजी को दोबारा दबाकर नाम। यदि केवल एक ही मेल खाने वाला नाम है, तो कोई सूची नहीं होगी
दिखाया जाएगा और नाम सीधे पूरा हो जाएगा.
यदि पूरा किये जाने वाले नाम में जैसे अक्षर हों * और ?, इसे एक पैटर्न के रूप में माना जाता है।
कमांड लाइन पर नाम सीधे सभी संभावित मिलान वाले नामों से प्रतिस्थापित कर दिया जाएगा
पैटर्न (आप किसी सूची से नहीं चुन सकते हैं)।
आम तौर पर, कमांड नाम कमांड नाम और कमांड तर्क के साथ पूरे होते हैं
पथनाम. तथापि, समापन कार्यों पूर्णता परिणामों को परिष्कृत करने के लिए परिभाषित किया जा सकता है।
समापन विवरण
शेल प्रारंभ होने के बाद पहली बार समापन करते समय, INIT
फ़ाइल को कमांड स्ट्रिंग की तरह लोड किया गया है . अल पूर्णता/INIT निष्पादित किया जाता है। यदि फ़ाइल
नहीं मिलता, इसे चुपचाप नजरअंदाज कर दिया जाता है। यह स्वचालित लोडिंग मुख्यतः के लिए अभिप्रेत है
लोडिंग पूर्णता फ़ंक्शन शेल के साथ बंडल किए गए हैं, लेकिन आप शेल को लोड होने दे सकते हैं
लोड पथ में फ़ाइल डालकर अपने स्वयं के कार्य करें।
कमांड नाम पूरा करते समय, शेल निष्पादित करता है पूर्णता//कमांड समारोह
और एक कमांड तर्क पूरा करते समय, पूर्णता//तर्क समारोह। यदि वे
पूर्णता फ़ंक्शंस परिभाषित नहीं हैं, शेल केवल कमांड नामों के साथ पूरा होता है
पथनाम. अन्य नामों को पूरा करते समय, जैसे कि टिल्ड विस्तार में उपयोगकर्ता नाम और
पैरामीटर विस्तार में पैरामीटर नाम, पूर्णता फ़ंक्शंस का उपयोग कभी नहीं किया जाता है:
शेल केवल उपयोगकर्ता नाम, पैरामीटर नाम, या जो भी लागू हो, के साथ पूरा होता है।
समापन कार्यों को बिना किसी तर्क के निष्पादित किया जाता है। निम्नलिखित स्थानीय चर
समापन कार्यों को निष्पादित करते समय स्वचालित रूप से परिभाषित किया जाता है:
आईएफएस
मान एक स्पेस, एक टैब और एक न्यूलाइन के तीन अक्षर हैं, जो हैं
वेरिएबल का डिफ़ॉल्ट मान.
शब्द
यह वेरिएबल एक ऐरे है जिसके तत्व एक कमांड नाम और तर्क हैं
बहस पूरी होने से पहले ही दर्ज की जा चुकी है। पूरा करते समय ए
कमांड नाम, सरणी में कोई तत्व नहीं है।
लक्ष्यशब्द
मान आंशिक रूप से दर्ज किया गया कमांड नाम या तर्क है जो कि किया जा रहा है
पूरा कर लिया है।
पूर्ण उम्मीदवार एक के दौरान पूर्ण अंतर्निहित निष्पादित करके उत्पन्न होते हैं
समापन समारोह.
समापन कार्यों को टर्मिनल पर I/O निष्पादित नहीं करना चाहिए, अन्यथा प्रदर्शित पाठ होगा
भ्रष्ट. बेहतर उपयोगकर्ता के लिए समापन कार्य यथाशीघ्र चलना चाहिए
अनुभव.
जबकि एक समापन समारोह निष्पादित किया जा रहा है:
· POSIXly-सही मोड अस्थायी रूप से अक्षम है,
· त्रुटि-निकास विकल्प अस्थायी रूप से अक्षम है, और
· जाल को क्रियान्वित नहीं किया जाता है.
पॉज़िक्सली-सही मोड
यश अधिकांश भाग के लिए POSIX.1-2008, शेल और यूटिलिटीज में परिभाषित अनुसार व्यवहार करता है, लेकिन कुछ
कार्यक्षमताएं प्रयोज्यता के लिए POSIX की अवज्ञा करती हैं। जब पूर्ण POSIX-अनुरूपता की आवश्यकता होती है, तो आप
को सक्षम कर सकते हैं पॉज़िक्सली-सही मोड यश को यथासंभव POSIX का पालन करने के लिए प्रेरित करना।
यदि यश को "sh" नाम से शुरू किया गया है, तो POSIXly-सही मोड स्वचालित रूप से सक्षम हो जाता है।
RSI -o बिल्कुल सही कमांड-लाइन विकल्प POSIXly-सही मोड को भी सक्षम बनाता है। बाद
यश प्रारंभ हो गया है, POSIXly-सही मोड को कमांड निष्पादित करके सक्षम किया जा सकता है
स्ट्रिंग सेट -o बिल्कुल सही.
जब POSIXly-सही मोड चालू होता है, तो यश न केवल आवश्यकताओं का पालन करने का प्रयास करता है
POSIX, लेकिन अधिकांश स्थितियों को त्रुटियों के रूप में भी मानता है जहां व्यवहार होता है अपरिभाषित or
अनिर्दिष्ट पॉज़िक्स द्वारा. परिणामस्वरूप, अधिकांश यश-विशिष्ट कार्यक्षमताएँ अक्षम हो जाती हैं
पॉज़िक्सली-सही मोड।
जब यश अंदर होता है तो उसके बीच व्यवहार संबंधी अंतरों की पूरी सूची नीचे दी गई है
पॉज़िक्सली-सही मोड और कब नहीं। जब POSIXly-सही मोड सक्षम हो:
· विभिन्न आरंभीकरण स्क्रिप्ट का उपयोग किया जाता है।
· वैश्विक उपनाम प्रतिस्थापित नहीं किए गए हैं.
· कंपाउंड कमांड में नेस्टेड कमांड खाली नहीं होने चाहिए।
· फॉर लूप में विस्तारित शब्दों को स्थानीय के बजाय वैश्विक चर के रूप में निर्दिष्ट किया गया है।
वेरिएबल में पोर्टेबल (केवल ASCII) नाम होना चाहिए। पहले एक अर्धविराम do नही सकता
बिना प्रकट होते हैं in परिवर्तनीय नाम के बाद.
· किसी केस कमांड में पहला पैटर्न नहीं हो सकता esac.
· समारोह फ़ंक्शन परिभाषा के लिए कीवर्ड का उपयोग नहीं किया जा सकता. फ़ंक्शन में एक होना चाहिए
पोर्टेबल (ASCII-केवल) नाम।
· सरल आदेश सरणियों को निर्दिष्ट नहीं कर सकते.
· का मान बदलना एलसी_CTYPE शेल प्रारंभ होने के बाद वेरिएबल होता है
शेल के स्थान को प्रभावित न करें.
· RANDOM यादृच्छिक संख्याएँ उत्पन्न करने के लिए चर का उपयोग नहीं किया जा सकता।
· टिल्डे का विस्तार ही फैलता है ~ और ~उपयोगकर्ता नाम.
· पैरामीटर विस्तार को नेस्ट नहीं किया जा सकता. किसी अनुक्रमणिका की अनुमति नहीं है.
· फॉर्म के कमांड प्रतिस्थापन में कमांड $(आज्ञाओं) हर बार पार्स किया जाता है
प्रतिस्थापन क्रियान्वित है.
· अंकगणितीय विस्तार में, भिन्नात्मक संख्याएँ और ++ और -- ऑपरेटर नहीं हो सकते
इस्तेमाल किया गया। सभी चर संख्यात्मक होने चाहिए.
· किसी फ़ाइल के पुनर्निर्देशन में, यदि पथनाम विस्तार एक से अधिक या नहीं प्राप्त होता है
पथनाम, इसे तुरंत त्रुटि नहीं माना जाता है। इसके बजाय, शेल इलाज करने की कोशिश करता है
पथनाम के रूप में विस्तार से पहले का शब्द।
· सॉकेट पुनर्निर्देशन, यहां स्ट्रिंग्स, पाइप पुनर्निर्देशन और प्रक्रिया पुनर्निर्देशन नहीं हो सकता
उपयोग किया गया।
· एक साधारण कमांड निष्पादित करते समय, कमांड खोज में विफलता निष्पादन को ट्रिगर नहीं करती है
का COMMAND_NOT_FOUND_HANDLER चर।
· कमांड खोज में, एक नियमित अंतर्निर्मित के लिए एक संगत बाहरी कमांड की आवश्यकता होती है
बिल्ट-इन पाए जाने के लिए।
· एसिंक्रोनस कमांड जॉब नियंत्रण होने पर भी SIGINT और SIGQUIT संकेतों को अनदेखा करते हैं
सक्रिय। एसिंक्रोनस कमांड का मानक इनपुट /dev/null पर रीडायरेक्ट किया जाता है यदि
शेल इंटरैक्टिव नहीं है, भले ही कार्य नियंत्रण सक्रिय हो या नहीं।
· कुछ बिल्ट-इन अलग-अलग व्यवहार करते हैं। विशेषकर, कुछ कमांड-लाइन विकल्प नहीं हो सकते
उपयोग किया गया।
· एक गैर-संवादात्मक शेल तब बाहर निकलता है जब किसी विशेष अंतर्निर्मित को वाक्यात्मक रूप से गलत दिया जाता है
तर्क या जब किसी विशेष के साथ असाइनमेंट या पुनर्निर्देशन में कोई त्रुटि होती है
निर्मित में।
· एक इंटरैक्टिव शेल निष्पादित नहीं करता है PROMPT_COMMAND प्रिंट करने से पहले वेरिएबल
तत्पर। के मूल्य PS1, PS2, तथा PS4 वेरिएबल्स को अलग-अलग तरीके से पार्स किया जाता है।
· मेल चेकिंग में, यदि फ़ाइल को संशोधित किया गया है तो एक अधिसूचना संदेश मुद्रित होता है,
भले ही फ़ाइल खाली हो।
बार - बार पूछा प्रशन और समस्या निवारण
RSI चूक शीघ्र is भी सरल...
yashrc फ़ाइल के बिना, yash लगभग कच्चे POSIX शेल के समान है। नमूना डालो yashrc
आपकी होम निर्देशिका में (~/.yashrc) और इसे अपनी पसंद के अनुसार अनुकूलित करें।
कैसे कर सकते हैं I उपयोग यूनिकोड (गैर-ASCII) वर्ण?
यूनिकोड वर्ण समर्थन को सक्षम करने के लिए आपको स्थानीय पर्यावरण चर सेट करने की आवश्यकता है।
यदि आपकी प्राथमिकता के लिए वेरिएबल पहले से ही कॉन्फ़िगर किए गए हैं, तो संभवतः आपके पास नहीं है
कुछ भी करना। वर्तमान लोकेल कॉन्फ़िगरेशन की जांच करने के लिए, आप इसका उपयोग कर सकते हैं स्थानीय
आदेश:
$ लोकल
लैंग=
LC_CTYPE='en_US.utf8'
LC_NUMERIC='en_US.utf8'
LC_TIME='en_US.utf8'
LC_COLLATE='en_US.utf8'
LC_MONETARY='en_US.utf8'
LC_MESSAGES='en_US.utf8'
LC_PAPER='en_US.utf8'
LC_NAME='en_US.utf8'
LC_ADDRESS='en_US.utf8'
LC_TELEPHONE='en_US.utf8'
LC_MEASUREMENT='en_US.utf8'
LC_IDENTIFICATION='en_US.utf8'
LC_ALL=en_US.utf8
इस उदाहरण में, स्थानीय कमांड से पता चलता है कि सभी लोकेल सेटिंग श्रेणियां हैं
अंग्रेजी भाषा, संयुक्त राज्य क्षेत्र और UTF-8 एन्कोडिंग के लिए कॉन्फ़िगर किया गया।
यदि वर्तमान कॉन्फ़िगरेशन आपकी प्राथमिकता से मेल नहीं खाता है, तो सेट करें LC_ALL
इस तरह चर:
निर्यात LC_ALL=en_US.utf8
यदि आप अन्य भाषाओं, क्षेत्रों या एन्कोडिंग का उपयोग करना चाहते हैं, तो आपको वेरिएबल को यहां सेट करना होगा
एक अलग मूल्य. इन्हें कॉन्फ़िगर करने का तरीका जानने के लिए कृपया अपने OS के दस्तावेज़ देखें
चर विस्तार से.
यदि आप यश प्रारंभ करते समय हर बार समान कॉन्फ़िगरेशन लागू करना चाहते हैं, तो कमांड लिखें
in ~/.yashrc or ~/.yash_profile.
यदि यश अभी भी दर्ज किए जा रहे यूनिकोड वर्णों को अस्वीकार करता है, तो नीचे दिए गए अनुभाग को देखें
पंक्ति-संपादन.
पंक्ति-संपादन कर देता है नहीं काम
सबसे पहले, टाइप करें गूंज $टर्म और देखें कि क्या यह प्रिंट करता है समझदार मूल्य. टर्म यह सबसे सुरक्षित मूल्य है
किसी भी मौजूदा परिवेश पर काम करना चाहिए. रंगीन संस्करण जैसे xterm-16रंग अन्य और
जैसे टर्मिनल प्रकार Rxvt और vt100 भी काम कर सकता है. सभी संभावित मानों को सूचीबद्ध किया जा सकता है
पैर की अंगुली आज्ञा। ऐसा मान चुनना सबसे वांछनीय है जो वास्तविक टर्मिनल प्रकार से मेल खाता हो
आप उपयोग कर रहे हैं, लेकिन यदि आपके द्वारा चुना गया टर्मिनल प्रकार समर्थित नहीं है तो यह काम नहीं करेगा
जिस सिस्टम पर यश चल रहा है. यदि हां, तो बदलने का प्रयास करें कार्यकाल द्वारा मान निर्यात
अवधि=xअवधि, उदाहरण के लिए, एक ऐसा मान ढूंढना जो काम करता हो।
यदि लाइन-संपादन काम करता है लेकिन आपको यूनिकोड (गैर-एएससीआईआई) वर्ण दर्ज करने में परेशानी हो रही है, तो प्रयास करें
ले-नो-कन्व-मेटा विकल्प को सक्षम करके सेट -o ले-नो-कन्व-मेटा.
औपचारिक परिभाषा OF कमान वाक्य - विन्यास
यह अध्याय शेल कमांड के सिंटैक्स को पार्सिंग अभिव्यक्ति व्याकरण के रूप में परिभाषित करता है।
व्याकरण के टर्मिनलों का सेट उन वर्णों का सेट है जिन्हें संभाला जा सकता है
वह वातावरण जिसमें शेल चलाया जाता है (उर्फ निष्पादन वर्ण सेट), अपवाद के साथ
कि सेट में शून्य वर्ण नहीं है ('\0').
नीचे संबंधित पार्सिंग अभिव्यक्तियों के साथ व्याकरण के गैर-टर्मिनलों की एक सूची दी गई है।
सूची में यहां दस्तावेज़ों की सामग्री और अंत को पार्स करने के नियम शामिल नहीं हैं। में
POSIXly-सही मोड, गैर-POSIX को अक्षम करने के लिए व्याकरण नीचे दी गई सूची से भिन्न होता है
कार्यक्षमताओं।
पूर्णकमांड
अनुक्रमईओएफ
अनुक्रम
एन* सूची*
सूची
पाइपलाइन ((&& / ||) एन* पाइपलाइन)* सूचीविभाजक
पाइपलाइन
टकराना? आज्ञा (|एन*कमांड)*
आदेश
कंपाउंडकमांडरिडायरेक्शन* /
!आरएफ़ंक्शनपरिभाषा /
!आर सिंपलकमांड
कंपाउंडकमांड
सबशेल / ग्रुपिंग / इफकमांड / फॉरकमांड / व्हाइलकमांड / केसकमांड /
फ़ंक्शनकमांड
उपकोश
(अनुक्रम)S*
समूहीकरण
लेफ्टब्रेससीक्वेंसराइटब्रेस
यदि आदेश
यदि अनुक्रम तब अनुक्रम (एलिफ अनुक्रम तब अनुक्रम)* (अन्यथा अनुक्रम)? फाई
आदेश के लिए
ForNameS* विभाजक? (इनवर्ड* सेपरेटर)? DoSequenceDone
जबकि आदेश
(जब तक/जब तक) अनुक्रम करो अनुक्रम पूरा हो गया
केसकमांड
केसवर्डएन* एन* केसआइटम* एसैक में
केसआइटम
!एसैक ((एस*)? शब्द (| तलवार)* )अनुक्रम (;; / &Esac)
फ़ंक्शनकमांड
फ़ंक्शनवर्ड ((S* ))? एन* कंपाउंडकमांडरिडायरेक्शन*
कार्यपरिभाषा
नामएस* ( S* )एन* कंपाउंडकमांडरिडायरेक्शन*
सिंपलकमांड
&(शब्द/पुनर्निर्देशन) (असाइनमेंट/पुनर्निर्देशन)* (शब्द/पुनर्निर्देशन)*
असाइनमेंट
नाम=शब्द /
नाम =(एन* (शब्द एन*)* )
नाम
![[:अंक:]] [[:अंक:] _]+
पोर्टेबलनाम
![0-9] [0-9ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_]+
शब्द
(वर्डएलिमेंट / !स्पेशलचार।)+ एस*
शब्द तत्व
\ । / ' (!' .)* ' / "उद्धरण तत्व* " / पैरामीटर / अंकगणित / कमांड प्रतिस्थापन
उद्धरण तत्व
\ ([$`"\] / एनएल) / पैरामीटर / अंकगणित / कमांड प्रतिस्थापन /
![``\]।
प्राचल
$ [@*#?-$! [:अंक:]] / $पोर्टेबलनाम / $पैरामीटरबॉडी
पैरामीटरबॉडी
{पैरामीटरनंबर? (पैरामीटरनाम/पैरामीटरबॉडी/पैरामीटर) पैरामीटरइंडेक्स?
पैरामीटरमैच? }
पैरामीटरनंबर
# ![+=:/%] !([-?#] })
मापदण्ड नाम
[@*#?-$!] /
[[:अंक:] _]+
पैरामीटरसूचकांक
[पैरामीटर इंडेक्स वर्ड (, पैरामीटरइंडेक्सवर्ड)? ]
पैरामीटर इंडेक्स वर्ड
(शब्दतत्व / !["'],] .)+
पैरामीटरमैच
:? [-+=?] पैरामीटरमैचवर्ड /
(# / ## / % / %%) पैरामीटरमैचवर्ड /
(:/ / / [#%/]?) पैरामीटरमैचवर्डनोस्लैश (/ पैरामीटरमैचवर्ड)?
पैरामीटरमैचवर्ड
(शब्दतत्व / !["'}] .)*
पैरामीटरमैचवर्डनोस्लैश
(शब्दतत्व / !['''//] .)*
अंकगणित
$((अंकगणितशरीर* ))
अंकगणितशरीर
\ . / पैरामीटर / अंकगणित / कमांड प्रतिस्थापन / ( अंकगणितशरीर ) /
![`()]।
कमांड प्रतिस्थापन
$(अनुक्रम) / `कमांड प्रतिस्थापनबॉडी* `
कमांड प्रतिस्थापन निकाय
\ [$`\] /
!` .
पुनप्रेषण
पुनर्निर्देशनएफडीरीडायरेक्शनऑपरेटरएस* शब्द /
पुनर्निर्देशनFD <(अनुक्रम) /
पुनर्निर्देशनFD >( अनुक्रम )
पुनर्निर्देशनFD
[[:अंक:]]*
पुनर्निर्देशनऑपरेटर
< / <> / > / >| / >> / >>| / <& / >& / << / <<- / <<
सूचीविभाजक
विभाजक / &एन* /
&) /
&;;
विभाजक
;एन* / एन+ / ईओएफ
N
एस* एनएल
S
[[:रिक्त:]] / टिप्पणी करें
टिप्पणी
# (!एनएल .)*
R
बैंग / लेफ्टब्रेस / राइटब्रेस / केस / डू / डन / एलिफ / एल्स / एसैक / फाई / फॉर / इफ
/ में / तब / जब तक / जब तक
बैंग
!D
लेफ्टब्रेस
{D
राइटब्रेस
}D
मामला
मामलाD
Do
doD
करेंकिया गया
कियाD
Elif
elifD
अन्य
अन्यD
एसाका
esacD
Fi
fiD
के लिए
एसटी D
समारोह
समारोहD
If
ifD
In
inD
फिर
फिरD
जब तक
जब तकD
जबकि
जबD
D
!शब्द*
विशेष वर्ण
[|&;<>()`\"' [:रिक्त:]] / एनएल
NL
EOF
!.
ALIAS निर्मित में
RSI उर्फ में निर्मित उपनामों को परिभाषित और/या प्रिंट करता है।
वाक्य - विन्यास
· उर्फ [-जीपी] [नाम[=मूल्य]...]
विवरण
अंतर्निहित उपनाम ऑपरेंड द्वारा निर्दिष्ट उपनामों को परिभाषित और/या प्रिंट करता है। मुद्रित
उपनामों का उपयोग शेल कमांड के (भाग के रूप में) किया जा सकता है। अंतर्निर्मित प्रिंट सभी वर्तमान में परिभाषित हैं
उपनाम जब कोई ऑपरेंड नहीं दिया जाता है।
ऑप्शंस
-g, --वैश्विक
इस विकल्प के साथ, उपनामों को वैश्विक उपनामों के रूप में परिभाषित किया जाता है; इस विकल्प के बिना, जैसे
सामान्य उपनाम.
-p, उपसर्ग
इस विकल्प के साथ, उपनामों को पूर्ण कमांड फॉर्म में मुद्रित किया जाता है उर्फ -g फू='बार'.
इस विकल्प के बिना, केवल कमांड ऑपरेंड ही प्रिंट होते हैं फू='बार'.
ऑपरेंड
नाम
किसी उपनाम का नाम जिसे मुद्रित किया जाना चाहिए.
नाम=मूल्य
किसी उपनाम का नाम और मान जिसे परिभाषित किया जा रहा है।
निकास हैसियत
जब तक कोई त्रुटि न हो, अंतर्निहित उपनाम की निकास स्थिति शून्य है।
नोट्स
जिन वर्णों का उपयोग उपनाम नाम में नहीं किया जा सकता है वे हैं स्पेस, टैब, न्यूलाइन और कोई भी
of =$<>\'"`;&|()#. आप उपनाम मान में किसी भी वर्ण का उपयोग कर सकते हैं।
उपनाम बिल्ट-इन एक अर्ध-विशेष बिल्ट-इन है।
POSIX मानक अंतर्निहित उपनाम के लिए कोई विकल्प परिभाषित नहीं करता है, इस प्रकार कोई विकल्प नहीं है
POSIXly सही मोड में उपलब्ध है।
ARRAY निर्मित में
RSI सरणी में निर्मित सरणियों को प्रिंट या संशोधित करता है।
वाक्य - विन्यास
· सरणी
· सरणी नाम [मूल्य...]
· सरणी -d नाम [अनुक्रमणिका...]
· सरणी -i नाम अनुक्रमणिका [मूल्य...]
· सरणी -s नाम अनुक्रमणिका मूल्य
विवरण
जब किसी विकल्प या ऑपरेंड के बिना निष्पादित किया जाता है, तो अंतर्निहित सभी सरणी परिभाषाओं को प्रिंट करता है
एक ऐसे रूप में मानक आउटपुट जिसे कमांड के रूप में पार्स किया जा सकता है।
जब साथ निष्पादित किया गया नाम और मूल्यs (लेकिन बिना किसी विकल्प के), बिल्ट-इन सेट करता है मूल्यs
नामित सरणी के मान के रूप में नाम.
उसके साथ -d (--हटाएं) विकल्प, अंतर्निहित हटा देता है अनुक्रमणिकानामित सरणी के वें मान
नाम. सरणी में मानों की संख्या की संख्या से कम हो जाएगी अनुक्रमणिकाes
निर्दिष्ट. यदि अनुक्रमणिकावां मान मौजूद नहीं है, इसे चुपचाप अनदेखा कर दिया गया है।
उसके साथ -i (--इन्सर्ट) विकल्प, अंतर्निर्मित आवेषण मूल्यनामित सरणी में है नाम।
की संख्या से सरणी में मानों की संख्या बढ़ जाएगी मूल्यनिर्दिष्ट किया गया है.
के बीच मान डाले गए हैं अनुक्रमणिकावें और अगले मान. अगर अनुक्रमणिका शून्य है, मान हैं
पहले मान से पहले डाला गया. अगर अनुक्रमणिका में मानों की संख्या से बड़ा है
सरणी, मान अंतिम तत्व के बाद जोड़े जाते हैं।
उसके साथ -s (--सेट) विकल्प, अंतर्निर्मित सेट मूल्य जैसा अनुक्रमणिकासरणी का वां मान
नामित नाम. सरणी में कम से कम होना चाहिए अनुक्रमणिका मूल्यों.
ऑप्शंस
-d, --हटाएं
सरणी मान हटाएँ.
-i, --इन्सर्ट
सरणी मान सम्मिलित करें.
-s, --सेट
एक सरणी मान सेट करें.
ऑपरेंड
नाम
संचालित करने के लिए किसी सरणी का नाम.
अनुक्रमणिका
किसी सरणी तत्व का सूचकांक. पहले तत्व का सूचकांक 1 है।
मूल्य
एक स्ट्रिंग जिस पर सरणी तत्व सेट है।
निकास हैसियत
जब तक कोई त्रुटि न हो, अंतर्निहित सरणी की निकास स्थिति शून्य है।
नोट्स
अंतर्निहित सरणी POSIX मानक में परिभाषित नहीं है।
आदेश सरणी नाम मूल्य... असाइनमेंट के बराबर है नाम=(मूल्य...).
BG निर्मित में
RSI bg में निर्मित पृष्ठभूमि में कार्य फिर से शुरू करता है।
वाक्य - विन्यास
· bg [काम...]
विवरण
अंतर्निहित बीजी निर्दिष्ट कार्य के लिए SIGCONT सिग्नल भेजता है। परिणामस्वरूप, नौकरी है
पृष्ठभूमि में फिर से शुरू किया गया (यदि इसे निलंबित कर दिया गया है)।
कार्य फिर से शुरू होने पर कार्य का नाम मुद्रित होता है।
बिल्ट-इन का उपयोग केवल तभी किया जा सकता है जब जॉब नियंत्रण सक्षम हो।
ऑपरेंड
काम
पुनः प्रारंभ किये जाने वाले कार्य की जॉब आईडी.
एक समय में एक से अधिक कार्य निर्दिष्ट किये जा सकते हैं। यदि कोई नहीं है तो वर्तमान कार्य फिर से शुरू कर दिया जाता है
निर्दिष्ट।
प्रतिशत चिह्न (%) जॉब की शुरुआत में यदि शेल नहीं है तो आईडी को छोड़ा जा सकता है
POSIXly-सही मोड में।
निकास हैसियत
जब तक कोई त्रुटि न हो, बीजी बिल्ट-इन की निकास स्थिति शून्य है।
नोट्स
बीजी बिल्ट-इन एक अर्ध-विशेष बिल्ट-इन है।
POSIX मानक प्रदान करता है कि जब कार्य पहले से ही हो तो अंतर्निहित का कोई प्रभाव नहीं पड़ेगा
दौड़ना। हालाँकि, यश का bg बिल्ट-इन हमेशा जॉब को SIGCONT सिग्नल भेजता है।
बिंदकी निर्मित में
RSI बाइंडकी में निर्मित लाइन-संपादन में प्रयुक्त कुंजी बाइंडिंग को प्रिंट या संशोधित करता है।
वाक्य - विन्यास
· बाइंडकी -एव [कुंजी [आदेश]]
· बाइंडकी -l
विवरण
जब के साथ निष्पादित किया गया -l (--सूची) विकल्प, अंतर्निहित सभी उपलब्ध लाइन-संपादन सूचीबद्ध करता है
मानक आउटपुट के लिए आदेश।
जब अन्य विकल्पों में से किसी एक के साथ निष्पादित किया जाता है, तो अंतर्निहित कुंजी बाइंडिंग को प्रिंट या संशोधित करता है
विकल्प द्वारा निर्दिष्ट संपादन मोड के लिए:
· बिना कुंजी or आदेश, वर्तमान में परिभाषित सभी बाइंडिंग मानक के अनुसार मुद्रित हैं
एक ऐसे रूप में आउटपुट जिसे कमांड के रूप में पार्स किया जा सकता है जो वर्तमान बाइंडिंग को पुनर्स्थापित करता है
मार डाला।
· साथ में कुंजी लेकिन बिना आदेश, केवल दिए गए के लिए बंधन कुंजी छपा है।
· साथ में कुंजी और आदेश, कुंजी स्वाभाविक है आदेश.
ऑप्शंस
-a, --vi-कमांड
vi कमांड मोड के लिए बाइंडिंग प्रिंट या संशोधित करें।
-e, --emacs
Emacs मोड के लिए बाइंडिंग प्रिंट या संशोधित करें।
-v, --vi-सम्मिलित करें
vi इन्सर्ट मोड के लिए बाइंडिंग को प्रिंट या संशोधित करें।
ऑपरेंड
कुंजी
एक या अधिक कुंजियों का वर्ण अनुक्रम जो एक संपादन आदेश से जुड़ा होता है।
अनुक्रम में भागने के क्रम शामिल हो सकते हैं।
आदेश
जिसके लिए एक पंक्ति-संपादन आदेश कुंजी बाध्य है। अगर आदेश एक एकल हाइफ़न है (-), कुंजी
अनबाउंड है.
निकास हैसियत
जब तक कोई त्रुटि न हो, अंतर्निहित बाइंडकी की निकास स्थिति शून्य है।
नोट्स
अंतर्निहित बाइंडकी को POSIX मानक में परिभाषित नहीं किया गया है।
तोड़ निर्मित में
RSI तोड़ना में निर्मित निष्पादित किए जा रहे लूप को निरस्त करता है।
वाक्य - विन्यास
· तोड़ना [घोंसला]
· तोड़ना -i
विवरण
जब इसके बिना निष्पादित किया जाता है -i (--पुनरावृत्ति) विकल्प, अंतर्निहित वर्तमान में निरस्त हो जाता है
लूप के लिए, जबकि, या जब तक निष्पादित किया गया। जब नेस्टेड लूप्स में निष्पादित किया जाता है, तो यह निरस्त हो जाता है घोंसलाth
अंतरतम पाश. डिफ़ॉल्ट घोंसला एक है। यदि वर्तमान में निष्पादित नेस्टेड लूप की संख्या
से कम है घोंसला, अंतर्निर्मित सबसे बाहरी लूप को निरस्त कर देता है।
जब के साथ निष्पादित किया गया -i (--पुनरावृत्ति) विकल्प, अंतर्निहित वर्तमान में निष्पादित को निरस्त कर देता है
(अंतरतम) पुनरावृत्तीय निष्पादन।
ऑप्शंस
-i, --पुनरावृत्ति
लूप के बजाय पुनरावृत्त निष्पादन को रोकें।
ऑपरेंड
घोंसला
निरस्त करने के लिए लूपों की संख्या, जो एक धनात्मक पूर्णांक होना चाहिए।
निकास हैसियत
अंतर्निहित ब्रेक की निकास स्थिति है:
· यदि लूप सफलतापूर्वक निरस्त कर दिया गया तो शून्य।
· उस कमांड का जो ब्रेक बिल्ट-इन से ठीक पहले निष्पादित किया गया था यदि कोई पुनरावृत्त है
निष्पादन सफलतापूर्वक निरस्त कर दिया गया.
नोट्स
ब्रेक बिल्ट-इन एक विशेष बिल्ट-इन है।
POSIX मानक अंतर्निहित ब्रेक के लिए कोई विकल्प परिभाषित नहीं करता है; अंतर्निर्मित संख्या स्वीकार करता है
POSIXly-सही मोड में विकल्प।
CD निर्मित में
RSI cd में निर्मित कार्यशील निर्देशिका को बदलता है।
वाक्य - विन्यास
· cd [-एल|-पी] [डायरेक्टरी]
विवरण
सीडी बिल्ट-इन कार्यशील निर्देशिका को ऑपरेंड द्वारा निर्दिष्ट निर्देशिका में बदल देती है।
नई कार्यशील निर्देशिका का पथनाम निर्दिष्ट किया गया है लोक निर्माण विभाग परिवर्तनीय, जिसका पिछला
मान फिर से असाइन किया गया है ओल्डपीडब्ल्यूडी चर।
If डायरेक्टरी एक सापेक्ष पथ है जो '.' से शुरू नहीं होता है। या '..', में पथ CDPATH
नई कार्यशील निर्देशिका खोजने के लिए वेरिएबल की खोज की जाती है। तलाशी एक तरीके से की जाती है
कमांड खोज के अंतिम चरण के समान, लेकिन इसके बजाय एक निर्देशिका मांगी जाती है
निष्पादन योग्य नियमित फ़ाइल। यदि कोई नई कार्यशील निर्देशिका मिली हो CDPATH, इसका पथनाम है
मानक आउटपुट पर मुद्रित। यदि खोज में कोई लागू निर्देशिका नहीं मिली,
डायरेक्टरी इसे केवल वर्तमान कार्यशील निर्देशिका के सापेक्ष पथनाम के रूप में माना जाता है।
यदि कार्यशील निर्देशिका सफलतापूर्वक बदल दी गई थी, तो का मान YASH_AFTER_CD परिवर्तनशील
एक कमांड के रूप में निष्पादित किया जाता है जब तक कि शेल POSIXly-सही मोड में न हो। यदि चर
एक सरणी है, इसके मानों को पुनरावृत्त रूप से निष्पादित किया जाता है (cf. eval अंतर्निर्मित)।
ऑप्शंस
-L, --लॉजिकल
नई कार्यशील निर्देशिका के पथनाम में प्रतीकात्मक लिंक का समाधान नहीं किया गया है। नई
का मूल्य लोक निर्माण विभाग इसमें पथनाम घटक शामिल हो सकते हैं जो प्रतीकात्मक लिंक हैं।
-P, --शारीरिक
नई कार्यशील निर्देशिका के पथनाम में प्रतीकात्मक लिंक का समाधान कर दिया गया है। नई
का मूल्य लोक निर्माण विभाग वेरिएबल में कभी भी पथनाम घटक शामिल नहीं होते हैं जो प्रतीकात्मक लिंक होते हैं।
--डिफ़ॉल्ट-निर्देशिका=डायरेक्टरी
यदि यह विकल्प निर्दिष्ट है और डायरेक्टरी ऑपरेंड को छोड़ दिया गया है, इसका तर्क
विकल्प का प्रयोग किया जाता है डायरेक्टरी संकार्य. यदि डायरेक्टरी ऑपरेंड निर्दिष्ट है, यह
विकल्प पर ध्यान नहीं दिया जाता है।
RSI -L (--लॉजिकल) और -P (--शारीरिक) विकल्प परस्पर अनन्य हैं: केवल अंतिम
निर्दिष्ट एक प्रभावी है. यदि कोई भी निर्दिष्ट नहीं है, -L माना जाता है।
ऑपरेंड
डायरेक्टरी
नई कार्यशील निर्देशिका का पथनाम.
If डायरेक्टरी एक एकल हाइफ़न ('-') है, का मान ओल्डपीडब्ल्यूडी परिवर्तनशील मान लिया गया है
नई निर्देशिका पथनाम, जो मानक आउटपुट पर मुद्रित होता है।
If डायरेक्टरी छोड़ दिया गया है, कार्यशील निर्देशिका को निर्दिष्ट निर्देशिका में बदल दिया गया है
द्वारा --डिफ़ॉल्ट-निर्देशिका=... विकल्प। यदि वह विकल्प भी निर्दिष्ट नहीं है, तो
डिफ़ॉल्ट होम निर्देशिका है.
निकास हैसियत
यदि कार्यशील निर्देशिका सफलतापूर्वक थी तो अंतर्निहित सीडी की निकास स्थिति शून्य है
यदि कोई त्रुटि हो तो परिवर्तित और गैर-शून्य।
नोट्स
सीडी बिल्ट-इन एक अर्ध-विशेष बिल्ट-इन है।
POSIX मानक इसके उपयोग को परिभाषित नहीं करता है YASH_AFTER_CD चर या
--डिफ़ॉल्ट-निर्देशिका=... विकल्प। मानक एकल के साथ किसी विकल्प का उपयोग करने की अनुमति नहीं देता है
हाइफ़न ऑपरेंड.
में आदेशों की निकास स्थिति YASH_AFTER_CD वेरिएबल का उस पर कोई प्रभाव नहीं पड़ता है
सीडी अंतर्निर्मित.
COLON निर्मित में
RSI बृहदान्त्र में निर्मित कुछ भी नहीं करता है।
वाक्य - विन्यास
· : [तर्क...]
विवरण
अंतर्निर्मित कोलन कुछ नहीं करता. किसी भी कमांड लाइन तर्क को नजरअंदाज कर दिया जाता है।
निकास हैसियत
अंतर्निर्मित कोलन की निकास स्थिति शून्य है।
नोट्स
कोलन बिल्ट-इन एक विशेष बिल्ट-इन है।
तर्कों का विस्तार किया जाता है और पुनर्निर्देशन हमेशा की तरह किया जाता है। बृहदान्त्र और सत्य
बिल्ट-इन का प्रभाव समान होता है, लेकिन कोलन एक विशेष बिल्ट-इन होता है जबकि ट्रू एक होता है
अर्द्ध विशेष.
कमान निर्मित में
RSI आदेश में निर्मित किसी कमांड को निष्पादित या पहचानता है।
वाक्य - विन्यास
· आदेश [-befp] आदेश [तर्क...]
· आदेश -v|-V [-abefkp] आदेश...
विवरण
के बिना -v (--पहचान लो) या -V (--क्रिया-पहचान) विकल्प, अंतर्निहित निष्पादन
आदेश साथ में तर्कसरल के निष्पादन के अंतिम चरण के समान ही
आदेश. कमांड को एक अंतर्निहित या बाहरी कमांड या उसके अनुसार एक फ़ंक्शन के रूप में माना जाता है
अंतर्निहित कमांड में निर्दिष्ट विकल्पों के लिए। शेल तर्क पर बाहर नहीं निकलता है
सिंटैक्स त्रुटि आदि, भले ही कमांड एक विशेष अंतर्निहित हो
उसके साथ -v (--पहचान लो) विकल्प, आदेश पहचाना जाता है. यदि आदेश पाया जाता है $ पथ,
इसका पूरा पथनाम मुद्रित है. यदि यह कोई कीवर्ड, फ़ंक्शन या बिल्ट-इन है तो वह नहीं मिलता है
in $ पथ, कमांड का नाम बस मुद्रित होता है। यदि यह एक उपनाम है, तो इसे प्रपत्र में मुद्रित किया जाता है
पसंद उर्फ ll='ls -एल'. यदि आदेश नहीं मिलता है, तो कुछ भी मुद्रित नहीं होता है और निकास स्थिति नहीं होती है
गैर-शून्य है.
RSI -V (--क्रिया-पहचान) विकल्प के समान है -v (--पहचान लो) विकल्प, लेकिन
आउटपुट स्वरूप अधिक मानव-अनुकूल है।
ऑप्शंस
-a, --उपनाम
उपनाम के रूप में कमांड खोजें. के साथ प्रयोग करना चाहिए -v (--पहचान लो) या -V
(--क्रिया-पहचान) विकल्प।
-b, --बिल्ट-इन-कमांड
बिल्ट-इन के रूप में कमांड खोजें।
-e, --बाहरी-आदेश
कमांड को बाहरी कमांड के रूप में खोजें।
-f, --समारोह
फ़ंक्शन के रूप में कमांड खोजें.
-k, --कीवर्ड
कमांड को कीवर्ड के रूप में खोजें। के साथ प्रयोग करना चाहिए -v (--पहचान लो) या -V
(--क्रिया-पहचान) विकल्प।
-p, --मानक-पथ
सिस्टम का डिफ़ॉल्ट खोजें पथ वर्तमान के बजाय $ पथ.
-v, --पहचान लो
पहचान करना आदेशs और POSIX मानक में परिभाषित प्रारूप में प्रिंट करें।
-V, --क्रिया-पहचान
पहचान करना आदेशs और मानव-अनुकूल प्रारूप में प्रिंट करें।
यदि कोई नहीं -a (--उपनाम), -b (--बिल्ट-इन-कमांड), -e (--बाहरी-आदेश), -f
(--समारोह), और -k (--कीवर्ड) विकल्प निर्दिष्ट है, निम्नलिखित डिफ़ॉल्ट मान लिए गए हैं:
के बिना -v (--पहचान लो) या -V (--क्रिया-पहचान) विकल्प
-b -e
उसके साथ -v (--पहचान लो) या -V (--क्रिया-पहचान) विकल्प
-a -b -e -f -k
ऑपरेंड
आदेश
क्रियान्वित या पहचाना जाने वाला आदेश।
तर्क...
निष्पादित कमांड को तर्क दिए गए।
निकास हैसियत
अंतर्निहित कमांड की निकास स्थिति है:
के बिना -v (--पहचान लो) या -V (--क्रिया-पहचान) विकल्प
निष्पादित आदेश की निकास स्थिति.
उसके साथ -v (--पहचान लो) या -V (--क्रिया-पहचान) विकल्प
शून्य जब तक कोई त्रुटि न हो।
नोट्स
बिल्ट-इन कमांड एक अर्ध-विशेष बिल्ट-इन है।
POSIXly-सही मोड में, इसके अलावा अन्य विकल्प -p, -v, तथा -V उपयोग नहीं किया जा सकता और अधिक से अधिक
एक आदेश निर्दिष्ट किया जा सकता है. POSIX मानक दोनों को निर्दिष्ट करने की अनुमति नहीं देता है -v और -V
एक साथ, लेकिन यश करता है (केवल अंतिम निर्दिष्ट प्रभावी है)।
पूर्ण निर्मित में
RSI पूरा में निर्मित पूर्ण उम्मीदवार तैयार करता है। इस बिल्ट-इन को केवल निष्पादित किया जा सकता है
कमांड लाइन पूर्णता के दौरान पूर्णता कार्यों से।
वाक्य - विन्यास
· पूरा [-ए पैटर्न] [-आर पैटर्न] [-टी] [-पी उपसर्ग] [-एस प्रत्यय] [-abcdfghjkuv] [[-ओ]
[-डी विवरण] शब्द...]
विवरण
बिल्ट-इन निर्दिष्ट तर्कों के अनुसार पूर्णता वाले उम्मीदवार उत्पन्न करता है। नहीं
इससे कोई फर्क नहीं पड़ता कि उम्मीदवार कैसे तैयार किए जाते हैं, केवल वही उम्मीदवार तैयार किए जा रहे हैं जो पूरा होने वाले शब्द से मेल खाते हैं
उत्पन्न होते हैं.
ऑप्शंस
-A पैटर्न, --स्वीकार करना=पैटर्न
केवल वही उम्मीदवार स्वीकार करें जो इस विकल्प द्वारा निर्दिष्ट पैटर्न से मेल खाते हों। जब इससे अधिक
इस विकल्प में से एक निर्दिष्ट है, केवल वही उम्मीदवार हैं जो सभी पैटर्न से मेल खाते हैं
उत्पन्न।
-D विवरण, --विवरण=विवरण
का विवरण दीजिए शब्द उम्मीदवार। विवरण बगल में दिखाया गया है
उम्मीदवार सूची में उम्मीदवार.
-O, --विकल्प
उम्मीदवारों को कमांड लाइन विकल्प के रूप में माना जाता है। प्रत्येक के साथ एक हाइफ़न जुड़ा हुआ है
उम्मीदवार जिसे एक विकल्प के रूप में माना जाता है।
-P उपसर्ग, --उपसर्ग=उपसर्ग
उपेक्षा उपसर्ग उम्मीदवारों को तैयार करते समय शब्द पूरा किया जा रहा है। विष्तृत
उपसर्ग शब्द का प्रारंभिक भाग होना चाहिए.
यदि शब्द पूरा हो रहा है फ़ाइल: /// होम/उपयोगकर्ता/दस्तावेज़ उदाहरण के लिए, कमांड लाइन
पूरा -P फ़ाइल: // -f पूर्ण करने वाले पथनाम उम्मीदवार उत्पन्न करेगा
/होम/उपयोगकर्ता/दस्तावेज़.
-R पैटर्न, --अस्वीकार=पैटर्न
इस विकल्प द्वारा निर्दिष्ट पैटर्न से मेल खाने वाले उम्मीदवारों को अस्वीकार करें। जब एक से अधिक
इस विकल्प को निर्दिष्ट किया गया है, केवल वे उम्मीदवार जो किसी भी पैटर्न से मेल नहीं खाते हैं
उत्पन्न।
-S प्रत्यय, --प्रत्यय=प्रत्यय
जोड़ना प्रत्यय प्रत्येक उत्पन्न उम्मीदवार को।
-T, --कोई समाप्ति नहीं
शब्द पूरा होने के बाद रिक्त स्थान न जोड़ें। इस विकल्प के बिना, एक स्थान है
पूर्ण शब्द के साथ जोड़ा गया ताकि आपको इससे पहले कोई स्थान दर्ज न करना पड़े
अगला शब्द।
ऑप्शंस कि चयन उम्मीदवार प्रकार
-a, --उपनाम
उपनाम. (के समान --सामान्य-उपनाम --वैश्विक-उपनाम)
--सरणी-चर
ऐरे करता है।
--बाइंडकी
लाइन-संपादन आदेश देता है बाइंडकी अंतर्निहित स्वीकार करता है।
-b, --बिल्ट-इन-कमांड
अंतर्निहित आदेश. (के समान --विशेष-निर्मित --अर्ध-विशेष-निर्मित
--नियमित रूप से निर्मित)
-c, --कमांड
आदेश. (के समान --बिल्ट-इन-कमांड --बाहरी-आदेश --समारोह)
-d, --निर्देशिका
निर्देशिकाएँ।
--dirstack-index
निर्देशिका स्टैक के मान्य सूचकांक.
--निष्पादनीय फाइल
निष्पादन योग्य नियमित फ़ाइलें।
--बाहरी-आदेश
बाहरी आदेश.
-f, --फ़ाइल
फ़ाइलें (निर्देशिकाओं सहित)।
--समाप्त-कार्य
तैयार कार्यों की जॉब आईडी.
--समारोह
कार्य।
--वैश्विक-उपनाम
वैश्विक उपनाम.
-g, --समूह
यूसर समूह।
-h, --होस्टनाम
होस्ट नाम.
-j, --काम
नौकरी आईडी.
-k, --कीवर्ड
कीवर्ड।
--सामान्य-उपनाम
सामान्य उपनाम.
--नियमित रूप से निर्मित
नियमित अंतर्निर्मित आदेश.
-- दौड़ने का काम
निष्पादित किये जा रहे कार्यों की जॉब आईडी।
--अदिश-चर
वेरिएबल जो सरणियाँ नहीं हैं.
--अर्ध-विशेष-निर्मित
अर्ध-विशेष अंतर्निर्मित आदेश.
--सिग्नल
सिग्नल।
--विशेष-निर्मित
विशेष अंतर्निर्मित आदेश.
--रुका हुआ काम
निलंबित नौकरियों की जॉब आईडी।
-u, --उपयोगकर्ता नाम
उपयोगकर्ताओं के लॉग-इन नाम.
-v, --चर
चर।
अगर -d (--निर्देशिका) विकल्प बिना निर्दिष्ट किया गया है -f (--फ़ाइल) विकल्प, द -S /
-T विकल्प मान लिये गये हैं।
जॉब आईडी के लिए जेनरेट किए गए उम्मीदवारों के पास अग्रणी प्रतिशत चिह्न नहीं हैं (%). यदि शब्द
पूरा होने की शुरुआत प्रतिशत चिह्न से होती है -P % विकल्प निर्दिष्ट किया जाना चाहिए.
ऑपरेंड
ऑपरेंड को पूर्ण उम्मीदवार के रूप में माना जाता है।
निकास हैसियत
यदि एक या अधिक उम्मीदवार उत्पन्न हुए थे, तो एक यदि उत्पन्न हुआ था, तो अंतर्निहित निकास स्थिति शून्य है
कोई भी उम्मीदवार तैयार नहीं किया गया, या यदि कोई त्रुटि हुई तो एक से अधिक उम्मीदवार उत्पन्न हुए।
नोट्स
संपूर्ण बिल्ट-इन को POSIX मानक में परिभाषित नहीं किया गया है।
बनी रहेंगी निर्मित में
RSI जारी रखने के में निर्मित निष्पादित किए जा रहे लूप की पुनरावृत्ति को छोड़ देता है।
वाक्य - विन्यास
· जारी रखने के [घोंसला]
· जारी रखने के -i
विवरण
जब इसके बिना निष्पादित किया जाता है -i (--पुनरावृत्ति) विकल्प, अंतर्निर्मित धारा को निरस्त कर देता है
लूप के लिए, जबकि, या जब तक का पुनरावृत्ति और लूप का अगला पुनरावृत्ति प्रारंभ करता है। कब
नेस्टेड लूप्स में निष्पादित, यह प्रभावित करता है घोंसलावें अंतरतम पाश. डिफ़ॉल्ट घोंसला एक है।
यदि वर्तमान में निष्पादित नेस्टेड लूप की संख्या इससे कम है घोंसला, अंतर्निर्मित प्रभावित करता है
सबसे बाहरी लूप.
जब के साथ निष्पादित किया गया -i (--पुनरावृत्ति) विकल्प, अंतर्निहित वर्तमान पुनरावृत्ति को निरस्त करता है
(अंतरतम) पुनरावृत्तीय निष्पादन का।
ऑप्शंस
-i, --पुनरावृत्ति
लूप के बजाय पुनरावृत्त निष्पादन को छोड़ें।
ऑपरेंड
घोंसला
RSI घोंसलावां अंतरतम लूप प्रभावित होता है। घोंसला एक धनात्मक पूर्णांक होना चाहिए.
निकास हैसियत
बिल्ट-इन जारी रखें की निकास स्थिति है:
यदि लूप पुनरावृत्ति सफलतापूर्वक छोड़ दी गई तो शून्य।
· वह आदेश जो पुनरावृत्तीय जारी रखने से ठीक पहले निष्पादित किया गया था
निष्पादन सफलतापूर्वक छोड़ दिया गया.
नोट्स
कंटिन्यू बिल्ट-इन एक विशेष बिल्ट-इन है।
POSIX मानक अंतर्निहित जारी रखने के लिए कोई विकल्प परिभाषित नहीं करता है; अंतर्निर्मित संख्या स्वीकार करता है
POSIXly-सही मोड में विकल्प।
डीआईआर निर्मित में
RSI dirs में निर्मित निर्देशिका स्टैक की सामग्री प्रिंट करता है।
वाक्य - विन्यास
· dirs [-सीवी] [अनुक्रमणिका..]
विवरण
RSI डायरेक्टरी धुआँरा एक सुविधा है जो कार्यशील निर्देशिकाओं के इतिहास को रिकॉर्ड करती है। आप उपयोग कर सकते हैं
डायरेक्ट्री स्टैक में कार्यशील निर्देशिका को सहेजने के लिए पुशड बिल्ट-इन, पॉपड बिल्ट-इन
सहेजी गई कार्यशील निर्देशिका को याद करने के लिए, और स्टैक सामग्री को देखने के लिए अंतर्निहित डीआईआर को याद करने के लिए।
वे बिल्ट-इन का उपयोग करते हैं डिरस्टैक सरणी और लोक निर्माण विभाग स्टैक सामग्री को सहेजने के लिए वैरिएबल।
सरणी को संशोधित करने का अर्थ है स्टैक सामग्री को संशोधित करना।
निर्देशिका स्टैक प्रविष्टियाँ हस्ताक्षरित पूर्णांकों द्वारा अनुक्रमित की जाती हैं। सूचकांक +0 की प्रविष्टि है
वर्तमान कार्यशील निर्देशिका, +1 अंतिम सहेजी गई निर्देशिका है, +2 दूसरी अंतिम निर्देशिका है, इत्यादि
पर। नकारात्मक सूचकांक उल्टे क्रम में हैं: सूचकांक -0 की प्रविष्टि सबसे पहले सहेजी गई है
निर्देशिका, -1 दूसरी है, और -n यदि स्टैक है तो वर्तमान कार्यशील निर्देशिका है n
प्रविष्टियों,
जब इसके बिना निष्पादित किया जाता है -c (--स्पष्ट) विकल्प, अंतर्निहित डीआईआर करंट प्रिंट करता है
निर्देशिका की सामग्री मानक आउटपुट पर स्टैक हो जाती है। साथ -c (--स्पष्ट) विकल्प, द
अंतर्निहित निर्देशिका स्टैक को साफ़ करता है।
ऑप्शंस
-c, --स्पष्ट
वर्तमान कार्यशील निर्देशिका को छोड़कर निर्देशिका स्टैक की सामग्री को साफ़ करें
सूचकांक +0.
-v, --शब्दशः
स्टैक सामग्री प्रिंट करते समय सूचकांक प्रिंट करें।
ऑपरेंड
अनुक्रमणिका
मुद्रित की जाने वाली स्टैक प्रविष्टि का सूचकांक।
आप एक से अधिक सूचकांक निर्दिष्ट कर सकते हैं. यदि आप कोई अनुक्रमणिका निर्दिष्ट नहीं करते हैं, तो सभी प्रविष्टियाँ
मुद्रित हैं.
निकास हैसियत
जब तक कोई त्रुटि न हो, अंतर्निहित डीआईआर की निकास स्थिति शून्य है।
नोट्स
अंतर्निहित डीआईआर को POSIX मानक में परिभाषित नहीं किया गया है।
अस्वीकार निर्मित में
RSI अस्वीकार में निर्मित नौकरियाँ निकालता है.
वाक्य - विन्यास
· अस्वीकार [-ए] [काम...}
विवरण
अस्वीकृत बिल्ट-इन निर्दिष्ट नौकरियों को कार्य सूची से हटा देता है। हटाई गई नौकरियाँ नहीं होंगी
अब कार्य-नियंत्रित रहेगा, लेकिन कार्य प्रक्रियाओं का निष्पादन जारी रहेगा (जब तक कि ऐसा न किया गया हो)।
निलंबित)।
ऑप्शंस
-a, --सब
सभी नौकरियाँ हटा देता है.
ऑपरेंड
काम
हटाए जाने वाले कार्य की जॉब आईडी.
आप एक से अधिक जॉब आईडी निर्दिष्ट कर सकते हैं. यदि आप कोई जॉब आईडी निर्दिष्ट नहीं करते हैं, तो current
नौकरी हटा दी गई है. यदि शेल POSIXly-सही मोड में नहीं है, तो %-उपसर्ग
जॉब आईडी को छोड़ा जा सकता है.
निकास हैसियत
जब तक कोई त्रुटि न हो, अस्वीकृत बिल्ट-इन की निकास स्थिति शून्य है।
नोट्स
अस्वीकृत बिल्ट-इन को POSIX मानक में परिभाषित नहीं किया गया है।
DOT निर्मित में
RSI डॉट में निर्मित किसी फ़ाइल को पढ़ता है और उसमें कमांड निष्पादित करता है।
वाक्य - विन्यास
· . [-एएल] पट्टिका [तर्क...]
विवरण
अंतर्निहित डॉट निर्दिष्ट को पढ़ता है पट्टिका, इसकी सामग्री को कमांड के रूप में पार्स करता है, और निष्पादित करता है
उन्हें वर्तमान कमांड निष्पादन वातावरण में।
If तर्कs निर्दिष्ट हैं, स्थितिगत पैरामीटर अस्थायी रूप से उनके लिए सेट किए गए हैं।
डॉट बिल्ट-इन समाप्त होने पर स्थितीय पैरामीटर बहाल कर दिए जाएंगे। अगर कोई नहीं तर्कएस रहे हैं
निर्दिष्ट, स्थितीय पैरामीटर नहीं बदले गए हैं।
If पट्टिका इसमें कोई स्लैश नहीं है, शेल खोजता है $ पथ एक पठनीय के लिए (लेकिन नहीं
आवश्यक रूप से निष्पादन योग्य) शेल स्क्रिप्ट फ़ाइल जिसका नाम है पट्टिका आदेश के समान तरीके से
खोजना। यदि ऐसी कोई फ़ाइल नहीं मिली, तो शेल वर्तमान कार्यशील निर्देशिका को खोजता है
फ़ाइल जब तक POSIXly-सही मोड में न हो। यह सुनिश्चित करने के लिए कि फ़ाइल वर्तमान में काम कर रही है
निर्देशिका का उपयोग किया जाता है, प्रारंभ करें पट्टिका साथ '।/'।
ऑप्शंस
-A, --नहीं-उपनाम
पार्सिंग करते समय उपनाम प्रतिस्थापन अक्षम करें।
-L, --ऑटोलोड
खोजें $YASH_LOADPATH के बजाय $ पथ, दोनों में से किसी की परवाह किये बिना पट्टिका स्लैश शामिल हैं.
RSI पट्टिका मान को वर्तमान कार्यशील निर्देशिका के सापेक्ष नहीं माना जाता है।
बिल्ट-इन डॉट पहले ऑपरेंड के बाद किसी भी कमांड लाइन तर्क को ऑपरेंड के रूप में मानता है।
ऑपरेंड
पट्टिका
पढ़ी जाने वाली फ़ाइल का पथनाम.
तर्क...
निष्पादन के दौरान जिन स्ट्रिंग्स पर स्थितीय पैरामीटर सेट किए जाते हैं।
निकास हैसियत
बिल्ट-इन डॉट की निकास स्थिति निष्पादित अंतिम कमांड की है। निकास स्थिति
यदि फ़ाइल में निष्पादित करने के लिए कोई आदेश नहीं है तो शून्य है और यदि फ़ाइल नहीं मिली तो गैर-शून्य है
या खोला नहीं जा सका.
नोट्स
डॉट बिल्ट-इन एक विशेष बिल्ट-इन है।
यदि डॉट अंतर्निर्मित है तो एक गैर-संवादात्मक शेल तुरंत गैर-शून्य निकास स्थिति के साथ बाहर निकल जाता है
निष्पादित करने के लिए फ़ाइल ढूंढने या खोलने में विफल रहता है।
POSIX मानक अंतर्निहित डॉट के लिए कोई विकल्प परिभाषित नहीं करता है; अंतर्निर्मित संख्या स्वीकार करता है
POSIXly-सही मोड में विकल्प।
POSIX मानक परिभाषित नहीं करता है तर्क... ऑपरेंड. यह निर्दिष्ट करने में त्रुटि है
la तर्क... पॉज़िक्सली-सही मोड में ऑपरेंड।
इको निर्मित में
RSI गूंज में निर्मित अपने तर्क छापता है।
वाक्य - विन्यास
· गूंज [स्ट्रिंग...]
बिल्ट-इन विकल्पों को छोड़कर सभी कमांड लाइन तर्कों को ऑपरेंड के रूप में मानता है
नीचे वर्णित। कोई भी शब्द जिसे स्वीकार्य विकल्प के रूप में पार्स नहीं किया जा सकता, उसे एक के रूप में माना जाता है
संकार्य. विकल्प सभी ऑपरेंड से पहले होने चाहिए. इको में सिंटैक्स त्रुटियाँ कभी नहीं होतीं
निर्मित में।
विवरण
इको बिल्ट-इन ऑपरेंड प्रिंट करता है स्ट्रिंगमानक आउटपुट के लिए एक नई पंक्ति का अनुसरण किया जाता है।
RSI स्ट्रिंगप्रत्येक को एक स्थान से अलग किया गया है।
पलायन दृश्यों
RSI ECHO_STYLE परिवर्तनशील और -e विकल्प बदले गए एस्केप अनुक्रमों को सक्षम करता है
संगत वर्णों के साथ:
\a
बेल कैरेक्टर (ASCII कोड: 7)
\b
बैकस्पेस (ASCII कोड: 8)
\c
कुछ नहीं। इस एस्केप सीक्वेंस के बाद, कोई भी पात्र मुद्रित नहीं होता है।
\e
एस्केप कैरेक्टर (ASCII कोड: 27)
\f
प्रपत्र फ़ीड वर्ण (ASCII कोड: 12)
\n
न्यूलाइन कैरेक्टर (ASCII कोड: 10)
\r
कैरिज रिटर्न कैरेक्टर (ASCII कोड: 13)
\t
क्षैतिज टैब वर्ण (ASCII कोड: 9)
\v
लंबवत टैब वर्ण (ASCII कोड: 11)
\\
बैकस्लैश
\0XXX
अक्षर जिसका कोड है XXX, जहां XXX अधिकतम तीन अंकों की एक अष्टाधारी संख्या है।
जब एस्केप अनुक्रम सक्षम नहीं होते हैं, तो वे बस बरकरार मुद्रित होते हैं।
ECHO_STYLE परिवर्तनशील
RSI ECHO_STYLE वेरिएबल परिभाषित करता है कि कौन से विकल्प स्वीकार किए जाते हैं और क्या बच सकते हैं
अनुक्रम डिफ़ॉल्ट रूप से सक्षम हैं। परिवर्तनीय मान को इनमें से किसी एक पर सेट किया जाना चाहिए
इस प्रकार है:
एसवाईएसवी, एक्सएसआई
कोई विकल्प स्वीकार नहीं किया जाता. भागने के क्रम हमेशा सक्षम होते हैं।
बीएसडी
RSI -n विकल्प स्वीकार किया जाता है. भागने के क्रम कभी भी सक्षम नहीं होते हैं।
जीएनयू
RSI -n, -e, तथा -E विकल्प स्वीकार किये जाते हैं. एस्केप सीक्वेंस इसके द्वारा सक्षम नहीं हैं
डिफ़ॉल्ट, लेकिन इसके द्वारा सक्षम किया जा सकता है -e विकल्प.
ZSH
RSI -n, -e, तथा -E विकल्प स्वीकार किये जाते हैं. भागने के क्रम डिफ़ॉल्ट रूप से सक्षम हैं,
लेकिन इसके द्वारा अक्षम किया जा सकता है -E विकल्प.
डैश
RSI -n विकल्प स्वीकार किया जाता है. भागने के क्रम हमेशा सक्षम होते हैं।
रॉ
कोई विकल्प स्वीकार नहीं किया जाता. भागने के क्रम कभी भी सक्षम नहीं होते हैं।
जब ECHO_STYLE वैरिएबल सेट नहीं है, यह डिफ़ॉल्ट है एसवाईएसवी.
ऑप्शंस
-n
अंत में कोई नई पंक्ति न छापें.
-e
भागने के क्रम सक्षम करें.
-E
भागने के क्रम को अक्षम करें.
निकास हैसियत
जब तक कोई त्रुटि न हो, इको बिल्ट-इन की निकास स्थिति शून्य है।
नोट्स
POSIX मानक परिभाषित नहीं करता है ECHO_STYLE परिवर्तनशील और न ही इसके लिए कोई विकल्प
अंतर्निहित. POSIX के अनुसार, बिल्ट-इन का व्यवहार कार्यान्वयन-परिभाषित होता है
पहला तर्क है -n या जब किसी तर्क में बैकस्लैश हो। अधिकतम के लिए
पोर्टेबिलिटी, प्रिंटफ बिल्ट-इन को इको बिल्ट-इन की तुलना में प्राथमिकता दी जानी चाहिए।
ईवल निर्मित में
RSI विकसित करना में निर्मित ऑपरेंड का मूल्यांकन कमांड के रूप में करता है।
वाक्य - विन्यास
· विकसित करना [-मैं] [आदेश...]
eval बिल्ट-इन के लिए आवश्यक है कि सभी विकल्प ऑपरेंड से पहले हों। कोई भी कमांड लाइन तर्क
पहले ऑपरेंड के बाद सभी को ऑपरेंड माना जाता है।
विवरण
इवल पार्स ऑपरेंड को कमांड के रूप में कार्य करता है और उन्हें वर्तमान कमांड निष्पादन में निष्पादित करता है
पर्यावरण.
जब इसके बिना निष्पादित किया जाता है -i (--पुनरावृत्ति) विकल्प, सभी ऑपरेंड को इसमें संयोजित किया गया है
एक स्ट्रिंग (प्रत्येक ऑपरेंड के बीच एक स्थान डालने के साथ) और एक ही बार में पार्स/निष्पादित।
उसके साथ -i (--पुनरावृत्ति) विकल्प, अंतर्निहित प्रदर्शन करता है चलने का निष्पादन: ऑपरेंड हैं
एक-एक करके पार्स/निष्पादित किया गया। यदि जारी रखें को इसके साथ निष्पादित किया जाता है -i (--पुनरावृत्ति)
पुनरावृत्त निष्पादन के दौरान विकल्प, वर्तमान ऑपरेंड का निष्पादन निरस्त कर दिया जाता है और
अगले ऑपरेंड को तुरंत पार्स/निष्पादित किया जाता है। के साथ अंतर्निहित ब्रेक -i
(--पुनरावृत्ति) विकल्प समान है लेकिन शेष ऑपरेंड को पार्स/निष्पादित नहीं किया गया है।
का मूल्य ? पुनरावृत्त निष्पादन शुरू होने से पहले विशेष पैरामीटर सहेजा जाता है।
प्रत्येक पुनरावृत्ति के बाद पैरामीटर मान को सहेजे गए मान पर पुनर्स्थापित किया जाता है।
ऑप्शंस
-i, --पुनरावृत्ति
पुनरावृत्त निष्पादन करें.
ऑपरेंड
आदेश
एक स्ट्रिंग जिसे पार्स किया जाता है और कमांड के रूप में निष्पादित किया जाता है।
निकास हैसियत
यदि नहीं तो निकास स्थिति शून्य है आदेश निर्दिष्ट किया गया था या आदेश इसमें कोई वास्तविक आदेश नहीं था
जिसे क्रियान्वित किया जा सकता है. अन्यथा, यानी, यदि eval बिल्ट-इन एक या अधिक निष्पादित करता है
कमांड, अंतर्निहित eval की निकास स्थिति अंतिम निष्पादित कमांड की है।
नोट्स
ईवल बिल्ट-इन एक विशेष बिल्ट-इन है।
POSIX मानक अंतर्निहित eval के लिए कोई विकल्प परिभाषित नहीं करता है; अंतर्निर्मित संख्या स्वीकार करता है
POSIXly-सही मोड में विकल्प।
EXEC निर्मित में
RSI कार्यकारी में निर्मित शेल प्रक्रिया को किसी अन्य बाहरी कमांड से बदल देता है।
वाक्य - विन्यास
· कार्यकारी [-सीएफ] [-ए नाम] [आदेश [तर्क...]]
अंतर्निहित निष्पादन के लिए आवश्यक है कि सभी विकल्प ऑपरेंड से पहले हों। यह इसलिए महत्वपूर्ण है
अंतर्निहित निष्पादन के विकल्प विकल्पों के साथ भ्रमित नहीं होते हैं आदेश. कोई भी कमांड लाइन
तर्क के बाद आदेश के रूप में व्यवहार किया जाता है तर्कs.
विवरण
जब कार्यकारी अंतर्निहित के साथ निष्पादित किया जाता है आदेश, शेल निष्पादित होता है आदेश साथ में तर्कs
एक साधारण कमांड के निष्पादन के अंतिम चरण के समान। मतभेद हैं
कि आदेश किसी भी मौजूदा फ़ंक्शन को अनदेखा करते हुए इसे हमेशा एक बाहरी कमांड के रूप में माना जाता है
बिल्ट-इन और वह exec सिस्टम कॉल जो बाहरी कमांड शुरू करता है उसे कहा जाता है
सबशेल के बजाय वर्तमान कमांड निष्पादन वातावरण, शेल प्रक्रिया को प्रतिस्थापित करता है
नई कमांड प्रक्रिया के साथ.
यदि शेल POSIXly-सही मोड में है या इंटरैक्टिव नहीं है, तो निष्पादन में विफलता
आदेश शेल को तुरंत बाहर निकलने का कारण बनता है।
यदि एक इंटरैक्टिव शेल जो POSIXly-सही मोड में नहीं है, उसका काम रुका हुआ है, तो
शेल एक चेतावनी संदेश प्रिंट करता है और निष्पादित करने से इंकार कर देता है आदेश. एक बार शैल प्रक्रिया है
बाहरी कमांड के साथ प्रतिस्थापित होने पर, शेल की नौकरियों के बारे में जानकारी खो जाती है, इसलिए आप ऐसा करेंगे
हाथ से सिग्नल भेजकर रुकी हुई नौकरियों को फिर से शुरू करना या बंद करना होगा। खोल को मजबूर करने के लिए
निष्पादित आदेश परवाह किए बिना, निर्दिष्ट करें -f (--बल) विकल्प।
जब बिना निष्पादित किया गया आदेश, अंतर्निर्मित कुछ नहीं करता। हालाँकि, एक दुष्प्रभाव के रूप में,
वर्तमान कमांड निष्पादन वातावरण में अंतर्निहित अवशेषों पर लागू पुनर्निर्देशन
बिल्ट-इन समाप्त होने के बाद भी।
ऑप्शंस
-a नाम, --as=नाम
पास नाम, के बजाय आदेश, बाहरी कमांड को उसके नाम के रूप में।
-c, --स्पष्ट
बाहरी कमांड को केवल वेरिएबल पास करें जो साधारण कमांड में असाइन किए गए हैं
जिसे बिल्ट-इन क्रियान्वित किया जा रहा है। अन्य पर्यावरण चर को पारित नहीं किया जाता है
आदेश।
-f, --बल
उन चेतावनियों को दबाएँ जो कमांड निष्पादन को रोकेंगी।
ऑपरेंड
आदेश
निष्पादित किया जाने वाला एक बाहरी आदेश.
तर्क...
कमांड को दिए जाने वाले तर्क.
निकास हैसियत
यदि शेल प्रक्रिया को बाहरी कमांड से सफलतापूर्वक बदल दिया गया था, तो कोई निकास नहीं है
स्थिति क्योंकि शेल प्रक्रिया अब मौजूद नहीं है।
निकास स्थिति है:
· 127 यदि आदेश नहीं मिला,
· 126 यदि आदेश मिल गया लेकिन क्रियान्वित नहीं किया जा सका, और
· यदि नहीं तो शून्य आदेश निर्दिष्ट किया गया था।
नोट्स
एक्जीक्यूटिव बिल्ट-इन एक विशेष बिल्ट-इन है।
POSIX मानक अंतर्निहित निष्पादन के लिए कोई विकल्प परिभाषित नहीं करता है; अंतर्निर्मित संख्या स्वीकार करता है
POSIXly-सही मोड में विकल्प।
बाहर निकलें निर्मित में
RSI निकास में निर्मित शेल प्रक्रिया को बाहर निकलने का कारण बनता है।
वाक्य - विन्यास
· निकास [-एफ] [निकास_स्थिति]
विवरण
अंतर्निहित निकास वर्तमान शेल (या सबशेल) प्रक्रिया को बाहर निकलने का कारण बनता है।
यदि किसी इंटरैक्टिव शेल में कोई कार्य रुका हुआ है, तो शेल एक चेतावनी संदेश प्रिंट करता है और मना कर देता है
गमन करना। शेल को बिना परवाह किए बाहर निकलने के लिए बाध्य करने के लिए, निर्दिष्ट करें -f (--बल) विकल्प या निष्पादित करें
लगातार दो बार बिल्ट-इन।
यदि एक EXIT ट्रैप सेट किया गया है, तो शेल बाहर निकलने से पहले ट्रैप को निष्पादित करता है।
ऑप्शंस
-f, --बल
उन चेतावनियों को दबाएँ जो शेल को बाहर निकलने से रोकेंगी।
ऑपरेंड
निकास_स्थिति
एक गैर-नकारात्मक पूर्णांक जो निकास शेल की निकास स्थिति होगी।
यदि इस ऑपरेंड को छोड़ दिया जाता है, तो शेल की निकास स्थिति अंतिम की स्थिति होगी
कमांड को बिल्ट-इन से बाहर निकलने से पहले निष्पादित किया जाता है (लेकिन, यदि बिल्ट-इन को ए के दौरान निष्पादित किया जाता है
ट्रैप, निकास स्थिति ट्रैप में प्रवेश करने से पहले अंतिम कमांड की स्थिति होगी)।
If निकास_स्थिति 256 या उससे अधिक है, तो वास्तविक निकास स्थिति शेष होगी
निकास_स्थिति 256 से विभाजित।
निकास हैसियत
क्योंकि बिल्ट-इन शेल को बाहर निकलने का कारण बनता है, बिल्ट-इन की कोई निकास स्थिति नहीं है।
अपवाद के रूप में, यदि शेल ने बाहर निकलने से इनकार कर दिया, तो अंतर्निहित की निकास स्थिति है
शून्येतर.
नोट्स
बिल्ट-इन निकास एक विशेष बिल्ट-इन है।
POSIX मानक अंतर्निहित निकास के लिए कोई विकल्प परिभाषित नहीं करता है; अंतर्निर्मित संख्या स्वीकार करता है
POSIXly-सही मोड में विकल्प।
POSIX मानक यह प्रदान करता है कि निकास_स्थिति ऑपरेंड 0 और 255 के बीच होना चाहिए
(सहित)। यश 255 से बड़े पूर्णांकों को विस्तार के रूप में स्वीकार करता है।
यदि EXIT ट्रैप के दौरान बिल्ट-इन को निष्पादित किया जाता है, तो शेल बिना निष्पादित किए ही बाहर निकल जाता है
फिर से जाल. अगर निकास_स्थिति निर्दिष्ट नहीं किया गया था, शेल की निकास स्थिति क्या है
निकास की स्थिति तब होगी जब जाल बिछाया न गया हो। शेल की समाप्ति भी देखें।
निर्यात निर्मित में
RSI निर्यात में निर्मित चाइल्ड प्रक्रियाओं में निर्यात के लिए चर को चिह्नित करता है।
वाक्य - विन्यास
· निर्यात [-prX] [नाम[=मूल्य]...]
विवरण
बिल्ट-इन निर्यात, बिल्ट-इन टाइपसेट के बराबर है -जीएक्स विकल्प.
नोट्स
एक्सपोर्ट बिल्ट-इन एक विशेष बिल्ट-इन है।
POSIX मानक परिभाषित करता है -p केवल विकल्प; अन्य विकल्पों का उपयोग नहीं किया जा सकता
पॉज़िक्सली-सही मोड। POSIX ऑपरेंड के साथ विकल्प का उपयोग करने की अनुमति नहीं देता है।
असत्य निर्मित में
RSI असत्य में निर्मित असफल रूप से कुछ भी नहीं करता.
वाक्य - विन्यास
· असत्य
विवरण
गलत अंतर्निर्मित कुछ नहीं करता. किसी भी कमांड लाइन तर्क को नजरअंदाज कर दिया जाता है।
निकास हैसियत
गलत बिल्ट-इन की निकास स्थिति गैर-शून्य है।
नोट्स
फॉल्स बिल्ट-इन एक अर्ध-विशेष बिल्ट-इन है।
FC निर्मित में
RSI fc में निर्मित कमांड इतिहास से कमांड को पुनः निष्पादित या प्रिंट करता है।
वाक्य - विन्यास
· fc [-qr] [-इ संपादक] [प्रारंभ [समाप्त]]
· fc -एस[क्यू] [पुराना=नई] [प्रारंभ]
· fc -एल[एनआरवी] [प्रारंभ [समाप्त]]
विवरण
जब इसके बिना निष्पादित किया जाता है -l (--सूची) विकल्प, अंतर्निहित कमांड को निष्पादित करता है
ऑपरेंड द्वारा निर्दिष्ट कमांड इतिहास सीमा। यदि -s (--चुप) विकल्प नहीं है
निर्दिष्ट, शेल एक संपादक को आमंत्रित करता है जो आपको कमांड को उनके पहले संपादित करने की अनुमति देता है
निष्पादित किये जाते हैं. जब आप संपादक छोड़ते हैं तो आदेश निष्पादित होते हैं। यदि -s (--चुप)
विकल्प निर्दिष्ट है, आदेश तुरंत निष्पादित किए जाते हैं। किसी भी स्थिति में, निष्पादित
कमांड को मानक आउटपुट पर मुद्रित किया जाता है और इतिहास में जोड़ा जाता है।
जब के साथ निष्पादित किया गया -l (--सूची) विकल्प, अंतर्निहित कमांड में कमांड प्रिंट करता है
ऑपरेंड द्वारा निर्दिष्ट इतिहास सीमा। डिफ़ॉल्ट रूप से, कमांड उनके साथ मुद्रित होते हैं
इतिहास प्रविष्टि संख्याएँ, लेकिन आउटपुट स्वरूप का उपयोग करके बदला जा सकता है -n (--कोई संख्या नहीं)) और
-v (--शब्दशः) विकल्प।
ऑप्शंस
-e संपादक, --संपादक=संपादक
एक संपादक निर्दिष्ट करें जिसका उपयोग आदेशों को संपादित करने के लिए किया जाता है।
यदि यह विकल्प निर्दिष्ट नहीं है, तो का मान एफसीईडीआईटी वेरिएबल का प्रयोग किया जाता है। यदि
वेरिएबल भी सेट नहीं है, vi प्रयोग किया जाता है।
-l, --सूची
कमांड इतिहास प्रविष्टियाँ प्रिंट करें।
-n, --कोई संख्या नहीं
इतिहास प्रविष्टियाँ मुद्रित करते समय प्रविष्टि संख्याएँ मुद्रित न करें।
-q, --शांत
निष्पादित करने से पहले कमांड प्रिंट न करें.
-r, --उलटना
श्रेणी में कमांड प्रविष्टियों के क्रम को उलट दें।
-s, --चुप
आदेशों को संपादित किए बिना निष्पादित करें।
-v, --शब्दशः
मुद्रण करते समय प्रत्येक इतिहास प्रविष्टि से पहले मुद्रण निष्पादन समय।
ऑपरेंड
प्रारंभ और समाप्त
RSI प्रारंभ और समाप्त ऑपरेंड कमांड इतिहास प्रविष्टियों की एक श्रृंखला निर्दिष्ट करते हैं
निष्पादित या मुद्रित। यदि ऑपरेंड में से एक पूर्णांक है, तो इसे इतिहास के रूप में माना जाता है
प्रवेश संख्या। एक ऋणात्मक पूर्णांक का अर्थ है nवां सबसे हालिया प्रविष्टि जहां n विश्व का सबसे लोकप्रिय एंव
पूर्णांक का निरपेक्ष मान. यदि ऑपरेंड में से एक पूर्णांक नहीं है, तो इसका इलाज किया जाता है
कमांड स्ट्रिंग के भाग के रूप में: सबसे हालिया प्रविष्टि जो स्ट्रिंग से शुरू होती है
श्रेणी के प्रारंभ या अंत के रूप में चयनित।
यदि श्रेणी की पहली प्रविष्टि जो निर्दिष्ट है प्रारंभ पिछले से नया है
द्वारा निर्दिष्ट सीमा की प्रविष्टि समाप्त, सीमा उलट गई है जैसे कि -r
(--उलटना) विकल्प निर्दिष्ट किया गया था। (यदि विकल्प पहले से ही निर्दिष्ट है, तो यह है
रद्द।)
के लिए डिफ़ॉल्ट मान प्रारंभ और समाप्त यह है:
┌──────┬─────────┬──────────────┐
मैं साथ में -l │ बिना -l │
├──────┼─────────┼──────────────┤
│प्रारंभ │ -16 │ -1 │
├──────┼─────────┼──────────────┤
│समाप्त │ -16 │ समान प्रारंभ │
└──────┴─────────┴──────────────┘
पुराना=नई
इस प्रारूप का एक ऑपरेंड कमांड स्ट्रिंग के भाग को प्रतिस्थापित करता है। यदि कमांड स्ट्रिंग
शामिल हैं पुराना, इसे इसके साथ बदल दिया गया है नई और नई स्ट्रिंग निष्पादित की जाती है। केवल पहला
की घटना पुराना के स्थान पर आ गया है।
निकास हैसियत
यदि कमांड निष्पादित किया गया था, तो अंतर्निहित एफसी की निकास स्थिति अंतिम निष्पादित की है
आज्ञा। अन्यथा, जब तक कोई त्रुटि न हो, निकास स्थिति शून्य है।
नोट्स
एफसी बिल्ट-इन एक अर्ध-विशेष बिल्ट-इन है।
POSIX मानक परिभाषित नहीं करता है -q (--शांत) या -v (--शब्दशः) विकल्प, तो वे
POSIXly-सही मोड में उपयोग नहीं किया जा सकता।
लाइन-संपादन के दौरान कमांड इतिहास को संशोधित नहीं किया जा सकता है।
FG निर्मित में
RSI fg में निर्मित अग्रभूमि में कार्य फिर से शुरू करता है।
वाक्य - विन्यास
· fg [काम...]
विवरण
एफजी बिल्ट-इन निर्दिष्ट कार्य को अग्रभूमि में लाता है और सिगकॉन्ट सिग्नल भेजता है
काम। परिणामस्वरूप, कार्य अग्रभूमि में फिर से शुरू हो जाता है (यदि इसे निलंबित कर दिया गया है)।
बिल्ट-इन तब कार्य समाप्त होने की प्रतीक्षा करता है और उसकी निकास स्थिति लौटाता है।
कार्य फिर से शुरू होने पर कार्य का नाम मुद्रित होता है।
बिल्ट-इन का उपयोग केवल तभी किया जा सकता है जब जॉब नियंत्रण सक्षम हो।
ऑपरेंड
काम
पुनः प्रारंभ किये जाने वाले कार्य की जॉब आईडी.
यदि एक से अधिक कार्य निर्दिष्ट हैं, तो उन्हें एक समय में एक क्रम में फिर से शुरू किया जाता है।
यदि कोई भी निर्दिष्ट नहीं है तो वर्तमान कार्य फिर से शुरू कर दिया जाता है।
प्रतिशत चिह्न (%) जॉब की शुरुआत में यदि शेल नहीं है तो आईडी को छोड़ा जा सकता है
POSIXly-सही मोड में।
निकास हैसियत
एफजी बिल्ट-इन की निकास स्थिति (अंतिम) कार्य फिर से शुरू की गई है। निकास स्थिति है
कोई त्रुटि होने पर गैर-शून्य।
नोट्स
एफजी बिल्ट-इन एक अर्ध-विशेष बिल्ट-इन है।
आप POSIXly-सही मोड में एक से अधिक कार्य निर्दिष्ट नहीं कर सकते।
गेटटॉप्स निर्मित में
RSI गेटअप में निर्मित पार्स कमांड विकल्प।
वाक्य - विन्यास
· गेटअप विकल्प सूची परिवर्तनशील [तर्क...]
विवरण
गेटऑप्ट्स बिल्ट-इन में दिखाई देने वाले एकल-वर्ण विकल्पों को पार्स करता है तर्कएस। हर बार
अंतर्निहित को लागू किया जाता है, यह एक विकल्प को पार्स करता है और विकल्प वर्ण निर्दिष्ट करता है
परिवर्तनशील.
RSI विकल्प सूची ऑपरेंड विकल्प वर्णों की एक सूची है जिसे स्वीकार किया जाना चाहिए
पार्सर. में विकल्प सूची, एक विकल्प जो तर्क लेता है उसे विकल्प के रूप में निर्दिष्ट किया जाना चाहिए
वर्ण के बाद कोलन आता है। उदाहरण के लिए, यदि आप चाहते हैं -a, -b और -c होने के विकल्प
पार्स किया गया और -b फिर, तर्क लेने का विकल्प विकल्प सूची होना चाहिए एबी:सी.
जब एक विकल्प जो तर्क लेता है उसे पार्स किया जाता है, तो तर्क को सौंपा जाता है ऑप्टारजी
चर।
जब कोई विकल्प जो निर्दिष्ट नहीं है विकल्प सूची पाया जाता है या जब कोई विकल्प तर्क होता है
गायब, परिणाम पहले अक्षर पर निर्भर करता है विकल्प सूची:
· अगर विकल्प सूची कोलन से प्रारंभ होता है, विकल्प वर्ण को निर्दिष्ट किया जाता है ऑप्टारजी
चर और परिवर्तनशील या तो सेट है ? (जब विकल्प अंदर न हो विकल्प सूची) या :
(जब विकल्प तर्क गायब है)।
· अन्यथा, परिवर्तनशील इसके लिए सेट है ?, ऑप्टारजी वेरिएबल अनसेट है, और एक त्रुटि संदेश है
मुद्रित।
अंतर्निहित प्रत्येक निष्पादन के लिए एक विकल्प को पार्स करता है। कमांड के एक सेट में सभी विकल्पों के लिए
पंक्ति तर्कों को पार्स करने के लिए, अंतर्निहित को उसी के साथ बार-बार निष्पादित करना होगा
तर्क. अंतर्निर्मित का उपयोग करता है ऑप्टिंड जिसे याद रखने के लिए परिवर्तनीय तर्क होना चाहिए
अगला विश्लेषण किया गया. जब बिल्ट-इन को पहली बार लागू किया जाता है, तो वेरिएबल मान होना चाहिए
1, जो डिफ़ॉल्ट मान है. आपको वेरिएबल को तब तक संशोधित नहीं करना चाहिए जब तक कि सभी विकल्प उपलब्ध न हो जाएं
पार्स किया गया है, जब बिल्ट-इन वेरिएबल को पहले ऑपरेंड के इंडेक्स में सेट करता है
तर्कएस। (यदि कोई ऑपरेंड नहीं है, तो इसे की संख्या पर सेट किया जाएगा तर्कएस प्लस वन.)
जब आप किसी नए सेट को पार्स करना शुरू करना चाहते हैं तर्कएस, आपको रीसेट करना होगा ऑप्टिंड
चर से 1 पहले से।
ऑपरेंड
विकल्प सूची
उन विकल्पों की सूची जिन्हें पार्सिंग में वैध विकल्प के रूप में स्वीकार किया जाना चाहिए।
परिवर्तनशील
उस वेरिएबल का नाम जिसके लिए परिणाम निर्दिष्ट किया जाना है।
तर्कs
कमांड लाइन तर्क जिन्हें पार्स किया जाना है।
जब नहीं तर्कs दिए गए हैं, स्थितीय पैरामीटर पार्स किए गए हैं।
निकास हैसियत
यदि कोई विकल्प मिलता है, चाहे वह इसमें निर्दिष्ट हो या नहीं विकल्प सूची, निकास स्थिति है
शून्य। यदि पार्स करने के लिए कोई और विकल्प नहीं है, तो निकास स्थिति गैर-शून्य है।
उदाहरण
aopt=झूठा bopt=copt=झूठा
जबकि getopts ab:c opt
do
मामला $ऑप्ट इन
a) aopt=true ;;
बी) bopt=$OPTARG ;;
ग) कॉप्ट = सत्य ;;
\?) वापसी 2 ;;
esac
किया
यदि $opt; फिर इको विकल्प -ए निर्दिष्ट; फाई
यदि [ -n "$bopt" ]; फिर इको ऑप्शन -बी $बीओपीटी निर्दिष्ट; फाई
यदि $copt; फिर इको विकल्प -सी निर्दिष्ट; फाई
शिफ्ट $((ऑप्टिंड - 1))
इको ऑपरेंड हैं: $*
नोट्स
In तर्कजो पार्स किए गए हैं, विकल्प ऑपरेंड से पहले होने चाहिए। अंतर्निर्मित पार्सिंग समाप्त होती है
जब इसका सामना पहले ऑपरेंड से होता है।
गेटऑप्ट्स बिल्ट-इन एक अर्ध-विशेष बिल्ट-इन है।
POSIX मानक यह निर्दिष्ट नहीं करता कि कब क्या होगा ऑप्टिंड वेरिएबल असाइन किया गया है
इसके अलावा एक मूल्य 1.
HASH निर्मित में
RSI हैश में निर्मित कमांड स्थानों को याद रखता है, भूल जाता है या रिपोर्ट करता है।
वाक्य - विन्यास
· हैश आदेश...
· हैश -r [आदेश...]
· हैश [-ए]
· हैश -d उपयोगकर्ता...
· हैश -डॉ [उपयोगकर्ता...]
· हैश -d
विवरण
जब साथ निष्पादित किया गया आदेशलेकिन विकल्पों के बिना, अंतर्निहित तुरंत कमांड निष्पादित करता है
पथ खोज और कैश आदेशके पूर्ण पथ.
जब के साथ निष्पादित किया गया -r (--हटाना) विकल्प, यह के पथ हटा देता है आदेशएस (या सभी
कैश्ड पथ यदि कोई निर्दिष्ट नहीं है) कैश से।
जब विकल्पों के बिना निष्पादित किया जाता है या आदेशs, यह वर्तमान में कैश्ड पथों को प्रिंट करता है
मानक आउटपुट।
उसके साथ -d (--निर्देशिका) विकल्प, बिल्ट-इन होम डायरेक्टरी के लिए वही काम करता है
कमांड पथ कैश के बजाय कैश। कैश्ड होम डायरेक्टरी पथ का उपयोग टिल्ड में किया जाता है
विस्तार।
ऑप्शंस
-a, --सब
सभी कैश्ड पथ प्रिंट करें.
इस विकल्प के बिना, बिल्ट-इन के लिए पथ मुद्रित नहीं होते हैं।
-d, --निर्देशिका
कमांड पथ कैश के बजाय होम डायरेक्टरी कैश को प्रभावित करें।
-r, --हटाना
कैश्ड पथ हटाएँ.
ऑपरेंड
आदेश
बाहरी कमांड का नाम (जिसमें कोई स्लैश नहीं है)।
उपयोगकर्ता
एक उपयोगकर्ता नाम.
निकास हैसियत
जब तक कोई त्रुटि न हो, हैश बिल्ट-इन की निकास स्थिति शून्य है।
नोट्स
कमांड निष्पादित करते समय शेल स्वचालित रूप से कमांड और डायरेक्टरी पथ को कैश करता है
टिल्ड विस्तार करना, इसलिए आम तौर पर इस अंतर्निहित का स्पष्ट रूप से उपयोग करने की कोई आवश्यकता नहीं है
पथों को कैश करने के लिए.
को एक मान निर्दिष्ट करना पथ वेरिएबल कैश से सभी कमांड पथों को हटा देता है हैश
-r किया गया था।
POSIX मानक परिभाषित करता है -r केवल विकल्प: अन्य विकल्पों का उपयोग नहीं किया जा सकता
पॉज़िक्सली-सही मोड।
मदद निर्मित में
RSI मदद में निर्मित बिल्ट-इन का उपयोग प्रिंट करता है।
वाक्य - विन्यास
· मदद [में निर्मित...]
विवरण
अंतर्निहित सहायता का विवरण प्रिंट करता है में निर्मितs.
बिल्ट-इन आउटपुट का हिस्सा निकालता है आदमी यश और इसे मानक आउटपुट पर प्रिंट करता है।
इसलिए बिल्ट-इन काम करने के लिए यश का मैनुअल पेज जरूर इंस्टॉल किया गया होगा।
मैन कमांड की फ़ॉर्मेटिंग शैली के आधार पर, बिल्ट-इन काम नहीं कर सकता है
उम्मीद थी.
ऑपरेंड
में निर्मितs
बिल्ट-इन के नाम.
निकास हैसियत
जब तक कोई त्रुटि न हो, अंतर्निहित सहायता की निकास स्थिति शून्य है।
नोट्स
अंतर्निहित सहायता को POSIX मानक में परिभाषित नहीं किया गया है।
यश के कई बिल्ट-इन स्वीकार करते हैं --मदद विकल्प जो समान विवरण प्रिंट करता है।
इतिहास निर्मित में
RSI इतिहास में निर्मित कमांड इतिहास को प्रिंट या संपादित करता है।
वाक्य - विन्यास
· इतिहास [-सीएफ] [-डी प्रविष्टि] [-एस आदेश] [-आर पट्टिका] [-व पट्टिका] [गणना]
विवरण
इतिहास में निर्मित कमांड इतिहास को प्रिंट या संपादित करता है।
जब किसी विकल्प के साथ निष्पादित किया जाता है, तो अंतर्निहित विकल्प के अनुसार इतिहास को संपादित करता है। यदि अधिक
एक से अधिक विकल्प निर्दिष्ट होने पर, प्रत्येक विकल्प को क्रम में संसाधित किया जाता है।
जब के साथ निष्पादित किया गया गणना ऑपरेंड, अंतर्निर्मित प्रिंट सबसे नवीनतम गणना इतिहास
मानक आउटपुट में प्रविष्टियाँ उसी तरीके से की जाती हैं जैसे एफसी बिल्ट-इन में।
जब न तो विकल्प और न ही ऑपरेंड के साथ निष्पादित किया जाता है, तो अंतर्निहित संपूर्ण इतिहास प्रिंट करता है।
ऑप्शंस
-c, --स्पष्ट
सभी इतिहास प्रविष्टियाँ पूरी तरह से साफ़ करें।
-d प्रविष्टि, --हटाएं=प्रविष्टि
निर्दिष्ट हटाएँ प्रविष्टि। प्रविष्टि को उसी प्रकार निर्दिष्ट किया जाना चाहिए जैसे कि
प्रारंभ और समाप्त एफसी बिल्ट-इन के ऑपरेंड।
-F, --फ्लश-फ़ाइल
इतिहास फ़ाइल का पुनर्निर्माण करें. यह ऑपरेशन फ़ाइल से अप्रयुक्त पुराने डेटा को हटा देता है।
-r पट्टिका, --पढ़ें=पट्टिका
से कमांड लाइन पढ़ें पट्टिका और उन्हें इतिहास में जोड़ें. फ़ाइल सामग्री हैं
सरल पाठ की पंक्तियों के रूप में माना जाता है।
-s आदेश, --सेट=आदेश
जोड़ना आदेश सबसे हालिया प्रविष्टि को हटाने के बाद एक नई इतिहास प्रविष्टि के रूप में।
-w पट्टिका, --लिखना=पट्टिका
को पूरा इतिहास लिखें पट्टिका. फ़ाइल में कोई भी मौजूदा डेटा खो जाएगा.
आउटपुट स्वरूप सरल पाठ की पंक्तियाँ हैं, जिनमें से प्रत्येक एक कमांड स्ट्रिंग है।
ऑपरेंड
गणना
मुद्रित की जाने वाली प्रविष्टियों की संख्या.
निकास हैसियत
जब तक कोई त्रुटि न हो, अंतर्निहित इतिहास की निकास स्थिति शून्य है।
नोट्स
अंतर्निहित इतिहास को POSIX मानक में परिभाषित नहीं किया गया है।
लाइन-संपादन के दौरान कमांड इतिहास को संशोधित नहीं किया जा सकता है।
नौकरी निर्मित में
RSI नौकरियों में निर्मित नौकरी की स्थिति की रिपोर्ट करता है।
वाक्य - विन्यास
· नौकरियों [-lnprs] [काम...]
विवरण
अंतर्निहित नौकरियां उन नौकरियों की जानकारी प्रिंट करती हैं जिन्हें शेल वर्तमान में नियंत्रित कर रहा है।
डिफ़ॉल्ट रूप से, प्रत्येक कार्य के लिए पंक्ति दर पंक्ति निम्नलिखित जानकारी मुद्रित की जाती है:
· नौकरी संख्या,
· NS + or - प्रतीक यदि कार्य क्रमशः वर्तमान या पिछला कार्य है,
· स्थिति, और
· कमांड स्ट्रिंग.
ऑप्शंस
-l, --शब्दशः
नौकरियों में प्रत्येक प्रक्रिया के लिए प्रक्रिया आईडी, स्थिति और कमांड स्ट्रिंग प्रिंट करें।
-n, --नया
केवल नई नौकरियाँ प्रिंट करें: वे नौकरियाँ जिनकी स्थिति के बारे में स्थिति के बाद से कभी रिपोर्ट नहीं की गई है
बदल दिया है.
-p, --पीजीआईडी-केवल
केवल नौकरियों की प्रक्रिया समूह आईडी प्रिंट करें।
-r, --केवल-चलना
केवल रनिंग जॉब प्रिंट करें।
-s, --केवल-रोका हुआ
प्रिंट ने नौकरियाँ ही बंद कर दीं।
ऑपरेंड
कामs
रिपोर्ट की जाने वाली नौकरियों की जॉब आईडी। जब नहीं काम निर्दिष्ट है, के अंतर्गत सभी नौकरियाँ
शेल के नियंत्रण की सूचना दी गई है।
निकास हैसियत
जब तक कोई त्रुटि न हो, अंतर्निहित नौकरियों की निकास स्थिति शून्य है।
नोट्स
बिल्ट-इन जॉब्स एक अर्ध-विशेष बिल्ट-इन है।
POSIX मानक परिभाषित करता है -l और -p केवल विकल्प: अन्य विकल्पों का उपयोग नहीं किया जा सकता
पॉज़िक्सली-सही मोड। POSIXly-सही मोड में, का प्रभाव -l विकल्प है
उस स्थिति में प्रत्येक प्रक्रिया के बजाय प्रत्येक कार्य के लिए अलग-अलग रिपोर्ट की जाती है।
यश द्वारा निष्पादित कार्य की प्रक्रिया समूह आईडी पहले की प्रक्रिया आईडी के बराबर है
पाइपलाइन का आदेश जो कार्य बनाता है।
मार निर्मित में
RSI हत्या में निर्मित प्रक्रियाओं को एक संकेत भेजता है।
वाक्य - विन्यास
· हत्या [-संकेत|-एस संकेत|-एन संकेत] प्रक्रिया...
· हत्या -l [-वी] [संकेत...]
किल बिल्ट-इन के लिए आवश्यक है कि सभी विकल्प ऑपरेंड से पहले हों। कोई भी कमांड लाइन तर्क
पहले ऑपरेंड के बाद सभी को ऑपरेंड माना जाता है।
विवरण
जब इसके बिना निष्पादित किया जाता है -l विकल्प, अंतर्निहित प्रक्रियाओं को एक संकेत भेजता है। सिग्नल
भेजा गया विकल्प द्वारा निर्दिष्ट किया जा सकता है। यदि कोई सिग्नल निर्दिष्ट नहीं है तो SIGTERM सिग्नल भेजा जाता है।
जब के साथ निष्पादित किया गया -l विकल्प, अंतर्निहित जानकारी प्रिंट करता है संकेतके लिए है
मानक आउटपुट. अगर कोई नहीं संकेत निर्दिष्ट किया गया है, सभी सिग्नलों की जानकारी मुद्रित की जाती है।
ऑप्शंस
सिग्नल-निर्दिष्ट करना विकल्पों
-संकेत, -s संकेत, -n संकेत
सिग्नल-निर्दिष्ट विकल्प प्रक्रियाओं को भेजे जाने वाले सिग्नल को निर्दिष्ट करता है। संकेत कर सकते हैं
नाम या संख्या द्वारा निर्दिष्ट किया जाए. यदि संख्या 0 निर्दिष्ट किया गया है, अंतर्निहित जांच करता है कि क्या
प्रक्रियाओं को सिग्नल भेजा जा सकता है लेकिन वास्तव में कोई सिग्नल नहीं भेजा जाता है। संकेत नाम
केस-असंवेदनशील हैं।
आप एक समय में अधिकतम एक सिग्नल-निर्दिष्ट विकल्प निर्दिष्ट कर सकते हैं।
अन्य विकल्पों
-l
सिग्नल भेजने के बजाय सिग्नल जानकारी प्रिंट करें।
-v
अधिक सिग्नल जानकारी प्रिंट करें.
इस विकल्प के बिना, अंतर्निहित केवल सिग्नल नाम प्रिंट करता है। यह विकल्प जोड़ता है
सिग्नल संख्या और संक्षिप्त विवरण।
जब -v विकल्प निर्दिष्ट है, -l विकल्प छोड़ा जा सकता है.
ऑपरेंड
प्रक्रियाes
उन प्रक्रियाओं को निर्दिष्ट करें जिनमें सिग्नल भेजा जाता है।
प्रक्रियाओं को प्रक्रिया आईडी, प्रक्रिया समूह आईडी या जॉब आईडी द्वारा निर्दिष्ट किया जा सकता है।
प्रक्रिया समूह आईडी को एक हाइफ़न के साथ उपसर्ग किया जाना चाहिए (-) ताकि इसे एक के रूप में न माना जाए
प्रक्रिया आईडी।
. 0 के रूप में निर्दिष्ट किया गया है प्रक्रिया, सिग्नल उस प्रक्रिया समूह को भेजा जाता है जिस पर
शेल प्रक्रिया संबंधित है। कब -1 निर्दिष्ट किया गया है, सिग्नल सभी प्रक्रियाओं को भेजा जाता है
प्रणाली।
संकेत
एक संकेत निर्दिष्ट करें कि कौन सी जानकारी मुद्रित की गई है।
सिग्नल को नाम, संख्या या कमांड की निकास स्थिति द्वारा निर्दिष्ट किया जा सकता है
वह सिग्नल द्वारा मारा गया था।
निकास हैसियत
जब तक कोई त्रुटि न हो, किल बिल्ट-इन की निकास स्थिति शून्य है। अगर सिग्नल था
कम से कम एक प्रक्रिया में भेजा गया, सिग्नल नहीं भेजे जाने पर भी निकास स्थिति शून्य है
सभी निर्दिष्ट प्रक्रियाएँ।
नोट्स
किल बिल्ट-इन एक अर्ध-विशेष बिल्ट-इन है।
हाइफ़न से शुरू होने वाले कमांड तर्कों का उपयोग सावधानी से किया जाना चाहिए। आदेश हत्या -1
-2उदाहरण के लिए, समूह 1 को संसाधित करने के लिए सिग्नल 2 भेजता है -1 के रूप में माना जाता है
सिग्नल-निर्दिष्ट विकल्प और -2 एक ऑपरेंड के रूप में जो एक प्रक्रिया समूह को निर्दिष्ट करता है। आदेश
हत्या -- -1 -2 और हत्या अवधि -1 -2दूसरी ओर, दोनों का इलाज करता है -1 और -2 ऑपरेंड के रूप में।
POSIX मानक परिभाषित नहीं करता है -n or -v विकल्प, इसलिए उनका उपयोग नहीं किया जा सकता
पॉज़िक्सली-सही मोड। मानक किसी सिग्नल संख्या को निर्दिष्ट करने की अनुमति नहीं देता है
का तर्क -s विकल्प या सिग्नल नाम के रूप में संकेत संकार्य।
मानक के लिए सिग्नल नामों को इसके बिना निर्दिष्ट करने की आवश्यकता होती है हस्ताक्षर उपसर्ग, जैसे INT और
छोड़ो. यदि शेल POSIXly-सही मोड में नहीं है, तो अंतर्निहित स्वीकार करता है हस्ताक्षर-उपसर्ग
संकेत नाम भी.
Popd निर्मित में
RSI popd में निर्मित निर्देशिका स्टैक से एक निर्देशिका पॉप करता है।
वाक्य - विन्यास
· popd [अनुक्रमणिका]
विवरण
अंतर्निहित पॉपड निर्देशिका स्टैक से अंतिम प्रविष्टि को हटा देता है, और वापस लौट जाता है
पिछली कार्यशील निर्देशिका. अगर अनुक्रमणिका दी गई है, द्वारा निर्दिष्ट प्रविष्टि अनुक्रमणिका हटा दिया गया
पिछले वाले के बजाय.
ऑपरेंड
अनुक्रमणिका
उस निर्देशिका स्टैक प्रविष्टि का सूचकांक जिसे आप हटाना चाहते हैं।
यदि छोड़ दिया जाए, +0 (अंतिम प्रविष्टि) मान ली गई है.
निकास हैसियत
जब तक कोई त्रुटि न हो, पॉपड बिल्ट-इन की निकास स्थिति शून्य है।
नोट्स
जब केवल एक निर्देशिका स्टैक प्रविष्टि हो तो इस अंतर्निहित का उपयोग करना एक त्रुटि है।
अंतर्निहित पॉपड को POSIX मानक में परिभाषित नहीं किया गया है।
printf निर्मित में
RSI printf में निर्मित स्वरूपित मान मुद्रित करता है।
वाक्य - विन्यास
· printf प्रारूप [मूल्य...]
विवरण
प्रिंटफ अंतर्निहित प्रारूप मूल्यके अनुसार है प्रारूप और उन्हें मानक के अनुसार प्रिंट करता है
आउटपुट. इको बिल्ट-इन के विपरीत, प्रिंटफ बिल्ट-इन एक नई लाइन प्रिंट नहीं करता है
स्वचालित रूप से.
फ़ॉर्मेटिंग प्रक्रिया C प्रोग्रामिंग में printf फ़ंक्शन के समान ही है
भाषा। आप रूपांतरण विनिर्देशों का उपयोग कर सकते हैं (जो इससे प्रारंभ होते हैं %) और भागने के क्रम
(जो से शुरू होता है \) में प्रारूप. कोई अन्य पात्र जो रूपांतरण का हिस्सा नहीं हैं
विशिष्टता या एस्केप अनुक्रम अक्षरशः मुद्रित होते हैं।
रूपांतरण विनिर्देशों
एक रूपांतरण विनिर्देश प्रतिशत चिह्न से शुरू होता है (%).
एक रूपांतरण विनिर्देश को छोड़कर %% एक का उपभोग करता है मूल्य, जिसे इसके अनुसार स्वरूपित किया गया है
विशिष्टता और मुद्रित. प्रत्येक रूपांतरण विनिर्देश एक की खपत करता है मूल्य में
उपस्थिति का क्रम. अगर और भी हैं मूल्यरूपांतरण विनिर्देशों की तुलना में,
संपूर्ण प्रारूप सभी तक पुनः संसाधित किया जाता है मूल्यका सेवन किया जाता है. यदि एक मूल्य करने के लिए हो सकता है
उपभोग गायब है, इसे एक खाली स्ट्रिंग माना जाता है (यदि विनिर्देश
एक स्ट्रिंग की आवश्यकता है) या शून्य (यदि कोई संख्या है)। अगर कोई नहीं मूल्यs दिए गए हैं, प्रारूप कार्रवाई की है
सिर्फ एक बार।
उपलब्ध रूपांतरण विशिष्टताएँ हैं:
%d, %i
दशमलव में एक हस्ताक्षरित पूर्णांक मुद्रित करता है
%u
दशमलव में एक अहस्ताक्षरित पूर्णांक मुद्रित करता है
%o
ऑक्टल में एक अहस्ताक्षरित पूर्णांक प्रिंट करता है
%x
एक अहस्ताक्षरित पूर्णांक को लोअरकेस हेक्साडेसिमल में प्रिंट करता है
%X
अपरकेस हेक्साडेसिमल में एक अहस्ताक्षरित पूर्णांक प्रिंट करता है
%f
एक फ़्लोटिंग-पॉइंट नंबर को लोअरकेस में प्रिंट करता है
%F
अपरकेस में एक फ़्लोटिंग-पॉइंट नंबर प्रिंट करता है
%e
लोअरकेस में घातांक के साथ एक फ़्लोटिंग-पॉइंट नंबर प्रिंट करता है
%E
अपरकेस में घातांक के साथ एक फ़्लोटिंग-पॉइंट नंबर प्रिंट करता है
%g
के रूप में एक ही %f or %e, स्वचालित रूप से चयनित
%G
के रूप में एक ही %F or %E, स्वचालित रूप से चयनित
%c
स्ट्रिंग का पहला अक्षर प्रिंट करता है
%s
एक स्ट्रिंग प्रिंट करता है
%b
एक स्ट्रिंग प्रिंट करता है (ईको बिल्ट-इन जैसे एस्केप अनुक्रमों को पहचानना)
%%
एक प्रतिशत चिह्न प्रिंट करता है (%)
के लिए %g और %G, जो विशिष्टता वास्तव में उपयोग की जाती है वह है %f or %F यदि प्रतिपादक
भाग -5 और परिशुद्धता (अनन्य) के बीच है; %e or %E अन्यथा।
एक रूपांतरण विनिर्देश में सिवाय %%, अग्रणी प्रतिशत चिह्न का अनुसरण किया जा सकता है
इस क्रम में झंडे, फ़ील्ड चौड़ाई, और/या परिशुद्धता।
झंडे निम्नलिखित वर्णों में से किसी भी संख्या का एक क्रम हैं:
ऋण चिह्न (-)
इस ध्वज के साथ, फ़ील्ड को भरने के लिए रिक्त स्थान को स्वरूपित मान में जोड़ा जाता है
चौड़ाई। अन्यथा, रिक्त स्थान पहले से जुड़ जाते हैं।
पलस हसताक्षर (+)
प्लस या माइनस चिह्न हमेशा किसी संख्या से पहले जुड़ा होता है।
अंतरिक्ष ( )
यदि किसी स्वरूपित संख्या में कोई प्लस या माइनस चिह्न नहीं है, तो उसे एक रिक्त स्थान से जोड़ दिया जाता है।
हैश चिह्न (#)
मान को वैकल्पिक रूप में स्वरूपित किया गया है: के लिए %o, मुद्रित अष्टक पूर्णांक
कम से कम एक अग्रणी शून्य है. के लिए %x और %X, एक गैर-शून्य पूर्णांक के साथ स्वरूपित किया जाता है
0x और 0X उपसर्ग, क्रमशः. के लिए %e, %E, %f, %F, %g, तथा %G, एक दशमलव चिह्न
(उर्फ मूलांक वर्ण) हमेशा मुद्रित होता है, भले ही मान एक सटीक पूर्णांक हो।
के लिए %g और %G, मुद्रित संख्या में भिन्नात्मक भाग में कम से कम एक अंक होता है।
शून्य (0)
फ़ील्ड की चौड़ाई को भरने के लिए शून्य को एक स्वरूपित संख्या से जोड़ा जाता है। यह झंडा
यदि माइनस फ़्लैग निर्दिष्ट है या यदि रूपांतरण विनिर्देश निर्दिष्ट है तो इसे अनदेखा कर दिया जाता है
%d, %i, %u, %o, %xया, %X एक सटीकता के साथ.
फ़ील्ड चौड़ाई को दशमलव पूर्णांक के रूप में निर्दिष्ट किया जाता है जिसमें कोई अग्रणी शून्य नहीं होता है।
फ़ील्ड चौड़ाई स्वरूपित मान की न्यूनतम बाइट गिनती को परिभाषित करती है। यदि स्वरूपित है
मान न्यूनतम बाइट गिनती तक नहीं पहुंचता है, इसलिए कई रिक्त स्थान पहले से जुड़ जाते हैं
मुद्रित मूल्य में निर्दिष्ट बाइट गिनती होती है।
एक परिशुद्धता को एक अवधि के रूप में निर्दिष्ट किया गया है (.) के बाद दशमलव पूर्णांक आता है। यदि पूर्णांक
अवधि के बाद छोड़ दिया जाता है, परिशुद्धता शून्य मानी जाती है।
रूपांतरण विशिष्टताओं के लिए %d, %i, %u, %o, %x, तथा %X, एक परिशुद्धता एक को परिभाषित करती है
न्यूनतम अंक गिनती. यदि स्वरूपित पूर्णांक न्यूनतम अंक संख्या तक नहीं पहुंचता है,
इतने सारे शून्य जोड़े गए हैं कि मुद्रित पूर्णांक में निर्दिष्ट संख्या हो
अंक. इन रूपांतरण विशिष्टताओं के लिए डिफ़ॉल्ट परिशुद्धता एक है।
रूपांतरण विशिष्टताओं के लिए %e, %E, %f, तथा %F, एक परिशुद्धता की संख्या को परिभाषित करता है
दशमलव चिह्न के बाद के अंक. इन रूपांतरणों के लिए डिफ़ॉल्ट परिशुद्धता छह है
विनिर्देशों.
रूपांतरण विशिष्टताओं के लिए %g, तथा %G, एक परिशुद्धता अधिकतम संख्या को परिभाषित करती है
मुद्रित मूल्य में महत्वपूर्ण अंक. इनके लिए डिफ़ॉल्ट परिशुद्धता छह है
रूपांतरण विशिष्टताएँ.
रूपांतरण विशिष्टताओं के लिए %s, तथा %b, एक परिशुद्धता अधिकतम बाइट गिनती को परिभाषित करती है
मुद्रित स्ट्रिंग. इन रूपांतरणों के लिए डिफ़ॉल्ट परिशुद्धता अनंत है
विनिर्देशों.
रूपांतरण विनिर्देश में % 08.3f, शून्य ध्वज निर्दिष्ट है, फ़ील्ड चौड़ाई है
8, और परिशुद्धता 3 है। यदि यह विनिर्देश मान 12.34 पर लागू होता है, तो आउटपुट
होगा 0012.340.
पलायन दृश्यों
निम्नलिखित पलायन अनुक्रमों को पहचाना जाता है प्रारूप:
\a
बेल कैरेक्टर (ASCII कोड: 7)
\b
बैकस्पेस (ASCII कोड: 8)
\f
प्रपत्र फ़ीड वर्ण (ASCII कोड: 12)
\n
न्यूलाइन कैरेक्टर (ASCII कोड: 10)
\r
कैरिज रिटर्न कैरेक्टर (ASCII कोड: 13)
\t
क्षैतिज टैब वर्ण (ASCII कोड: 9)
\v
लंबवत टैब वर्ण (ASCII कोड: 11)
\\
बैकस्लैश
\"
दोहरा उद्धरण
\'
एकल उद्धरण (एपोस्ट्रोफ़ी)
\XXX
अक्षर जिसका कोड है XXX, जहां XXX अधिकतम तीन अंकों की एक अष्टाधारी संख्या है।
ऑपरेंड
प्रारूप
एक स्ट्रिंग जो परिभाषित करती है कि कैसे मूल्यs को फ़ॉर्मेट किया जाना चाहिए.
मूल्यs
वे मान जिनके अनुसार स्वरूपित किए गए हैं प्रारूप.
मान या तो एक संख्या या एक स्ट्रिंग है।
जब एक संख्यात्मक मान की आवश्यकता होती है, मूल्य अनुसरण किया जाने वाला एकल या दोहरा उद्धरण हो सकता है
सामान्य संख्या के बजाय एक वर्ण द्वारा। उदाहरण के लिए, आदेश printf '% d' ''3'
प्रिंट करेंगे 51 एक विशिष्ट वातावरण पर जहां चरित्र 3 वर्ण कोड 51 है।
निकास हैसियत
जब तक कोई त्रुटि न हो, प्रिंटफ बिल्ट-इन की निकास स्थिति शून्य है।
नोट्स
POSIX मानक सटीक रूप से परिभाषित नहीं करता है कि मल्टीबाइट वर्णों को कैसे नियंत्रित किया जाना चाहिए
अंतर्निर्मित. जब आप उपयोग करते हैं %s परिशुद्धता के साथ रूपांतरण विनिर्देश या %c
रूपांतरण विनिर्देश, स्वरूपित मान होने पर आपको अप्रत्याशित परिणाम प्राप्त हो सकते हैं
इसमें एक वर्ण होता है जिसे एक से अधिक बाइट द्वारा दर्शाया जाता है। यश कभी छापता ही नहीं
बाइट्स का वह भाग जो एकल मल्टीबाइट वर्ण का प्रतिनिधित्व करता है क्योंकि सभी मल्टीबाइट
शेल में संसाधित होने पर वर्ण विस्तृत वर्णों में परिवर्तित हो जाते हैं।
Pushd निर्मित में
RSI pushd में निर्मित किसी निर्देशिका को निर्देशिका स्टैक में धकेलता है।
वाक्य - विन्यास
· pushd [-एल|-पी] [डायरेक्टरी]
विवरण
पुशड बिल्ट-इन कार्यशील निर्देशिका को बदल देता है डायरेक्टरी सीडी की तरह ही
अंतर्निहित और इसे निर्देशिका स्टैक में जोड़ता है। यदि कार्यशील निर्देशिका को बदला नहीं जा सका
सफलतापूर्वक, स्टैक को संशोधित नहीं किया गया है।
ऑप्शंस
पुशड बिल्ट-इन निम्नलिखित विकल्प के साथ-साथ उन विकल्पों को भी स्वीकार करता है जिनका उपयोग किया जा सकता है
अंतर्निहित सीडी के लिए:
--निकालें-डुप्लिकेट
यदि नई कार्यशील निर्देशिका पहले से ही निर्देशिका स्टैक में मौजूद है, तो मौजूदा
नई निर्देशिका को स्टैक में धकेलने से पहले प्रविष्टि को स्टैक से हटा दिया जाता है।
ऑपरेंड
डायरेक्टरी
नई कार्यशील निर्देशिका का पथनाम.
If डायरेक्टरी एक एकल हाइफ़न ('-') है, का मान ओल्डपीडब्ल्यूडी परिवर्तनशील मान लिया गया है
नई निर्देशिका पथनाम, जो मानक आउटपुट पर मुद्रित होता है।
If डायरेक्टरी प्लस या माइनस चिह्न वाला एक पूर्णांक है, इसे एक प्रविष्टि माना जाता है
निर्देशिका स्टैक का सूचकांक. प्रविष्टि को स्टैक से हटा दिया जाता है और फिर धकेल दिया जाता है
फिर से ढेर.
If डायरेक्टरी छोड़ दिया गया है, कार्यशील निर्देशिका को निर्दिष्ट निर्देशिका में बदल दिया गया है
द्वारा --डिफ़ॉल्ट-निर्देशिका=... विकल्प। यदि वह विकल्प भी निर्दिष्ट नहीं है, तो
डिफ़ॉल्ट सूचकांक है +1.
निकास हैसियत
जब तक कोई त्रुटि न हो, पुशड बिल्ट-इन की निकास स्थिति शून्य है।
नोट्स
पुशड बिल्ट-इन को POSIX मानक में परिभाषित नहीं किया गया है।
लोक निर्माण विभाग निर्मित में
RSI लोक निर्माण विभाग में निर्मित वर्तमान कार्यशील निर्देशिका को प्रिंट करता है।
वाक्य - विन्यास
· लोक निर्माण विभाग [-एल|-पी]
विवरण
PWD बिल्ट-इन शेल की वर्तमान कार्यशील निर्देशिका के लिए एक पूर्ण पथ प्रिंट करता है
मानक आउटपुट।
ऑप्शंस
-L, --लॉजिकल
यदि का मान लोक निर्माण विभाग वेरिएबल शेल की कार्यशील निर्देशिका के लिए एक पूर्ण पथ है
और पथ में कुछ भी शामिल नहीं है . or .. घटक, फिर पथ मुद्रित होता है।
अन्यथा, मुद्रित पथ वही है जब -P विकल्प निर्दिष्ट है।
-P, --शारीरिक
मुद्रित पथ में कोई भी शामिल नहीं है . or .. घटक, प्रतीकात्मक लिंक घटक,
या अनावश्यक स्लैश.
RSI -L (--लॉजिकल) और -P (--शारीरिक) विकल्प परस्पर अनन्य हैं: केवल अंतिम
निर्दिष्ट एक प्रभावी है. यदि कोई भी निर्दिष्ट नहीं है, -L माना जाता है।
निकास हैसियत
जब तक कोई त्रुटि न हो, पीडब्ल्यूडी बिल्ट-इन की निकास स्थिति शून्य है।
नोट्स
पीडब्ल्यूडी बिल्ट-इन एक अर्ध-विशेष बिल्ट-इन है।
पढ़ें निर्मित में
RSI पढ़ना में निर्मित मानक इनपुट से एक पंक्ति पढ़ता है।
वाक्य - विन्यास
· पढ़ना [-एयर] [-पी|-पी] परिवर्तनशील...
विवरण
रीड बिल्ट-इन मानक इनपुट से स्ट्रिंग की एक पंक्ति को पढ़ता है और इसे असाइन करता है
निर्दिष्ट चर.
अगर -r (--रॉ-मोड) विकल्प निर्दिष्ट है, पंक्ति के सभी वर्णों का उपचार किया जाता है
सचमुच।
अगर -r (--रॉ-मोड) विकल्प निर्दिष्ट नहीं है, पंक्ति में बैकस्लैश को इस प्रकार माना जाता है
उद्धरण. यदि बैकस्लैश पंक्ति के अंत में है, तो इसे एक पंक्ति के रूप में माना जाता है
निरंतरता. जब बिल्ट-इन अगली पंक्ति पढ़ता है, तो PS2 वेरिएबल का उपयोग प्रॉम्प्ट के रूप में किया जाता है
यदि शेल इंटरएक्टिव है और मानक इनपुट एक टर्मिनल है।
इनपुट लाइन फ़ील्ड विभाजन के अधीन है। परिणामी शब्दों को सौंपा गया है
परिवर्तनशीलक्रम में है. यदि इससे अधिक शब्द हैं परिवर्तनशीलs, अंतिम वेरिएबल असाइन किया गया है
शेष सभी शब्द (जैसे कि शब्द विभाजित नहीं थे)। यदि शब्द कम हैं
परिवर्तनशीलs, शेष चर को खाली स्ट्रिंग निर्दिष्ट किया गया है।
ऑप्शंस
-A, --सरणी
आखिरी बनाओ परिवर्तनशील एक सारणी। शेष का एक संयोजन निर्दिष्ट करने के बजाय
शब्दों को एक सामान्य चर के लिए, शब्दों को एक सरणी को सौंपा गया है।
-e, --लाइन-संपादन
पंक्ति को पढ़ने के लिए पंक्ति-संपादन का उपयोग करें.
लाइन-संपादन का उपयोग करने के लिए, निम्नलिखित सभी शर्तों को भी पूरा किया जाना चाहिए:
· शेल इंटरैक्टिव है.
· vi या emacs विकल्प सक्षम है।
· मानक इनपुट और मानक त्रुटि एक टर्मिनल से जुड़े हुए हैं।
-P, --पीएस1
प्रिंट करें PS1 यदि शेल है तो (पहली) पंक्ति को पढ़ने से पहले एक संकेत के रूप में परिवर्तनीय
इंटरैक्टिव और मानक इनपुट एक टर्मिनल है।
-p शीघ्र, -- शीघ्र =शीघ्र
निर्दिष्ट प्रिंट करें शीघ्र यदि शेल इंटरैक्टिव है तो (पहली) पंक्ति को पढ़ने से पहले
और मानक इनपुट एक टर्मिनल है।
-r, --रॉ-मोड
बैकस्लैश को उद्धरण के रूप में न मानें।
ऑपरेंड
परिवर्तनशीलs
वेरिएबल्स के नाम जिनमें इनपुट शब्द निर्दिष्ट हैं।
निकास हैसियत
जब तक कोई त्रुटि न हो, रीड बिल्ट-इन की निकास स्थिति शून्य है।
ध्यान दें कि यदि पढ़ने से पहले इनपुट का अंत सामने आता है तो निकास स्थिति गैर-शून्य है
पूरी लाइन.
नोट्स
रीड बिल्ट-इन एक अर्ध-विशेष बिल्ट-इन है।
POSIX मानक परिभाषित करता है -r केवल विकल्प: अन्य विकल्पों का उपयोग नहीं किया जा सकता
पॉज़िक्सली-सही मोड।
RSI पीएस 1 आर और पीएस1एस यदि वैरिएबल लाइन-संपादन के व्यवहार को प्रभावित करते हैं PS1 प्रॉम्प्ट का प्रयोग किया जाता है.
के लिए भी वैसा ही PS2.
केवल पढ़ने निर्मित में
RSI सिफ़ पढ़िये में निर्मित वेरिएबल और फ़ंक्शंस को केवल पढ़ने योग्य बनाता है।
वाक्य - विन्यास
· सिफ़ पढ़िये [-pxX] [नाम[=मूल्य]...]
· सिफ़ पढ़िये -एफ[पी] [नाम...]
विवरण
रीडओनली बिल्ट-इन, बिल्ट-इन टाइपसेट के बराबर है -जीआर विकल्प.
नोट्स
रीडओनली बिल्ट-इन एक विशेष बिल्ट-इन है।
POSIX मानक परिभाषित करता है -p केवल विकल्प; अन्य विकल्पों का उपयोग नहीं किया जा सकता
पॉज़िक्सली-सही मोड। POSIX ऑपरेंड के साथ विकल्प का उपयोग करने की अनुमति नहीं देता है।
वापसी निर्मित में
RSI वापसी में निर्मित किसी फ़ंक्शन या स्क्रिप्ट से रिटर्न।
वाक्य - विन्यास
· वापसी [-एन] [निकास_स्थिति]
विवरण
जब इसके बिना निष्पादित किया जाता है -n (--कोई वापसी नहीं) विकल्प, निम्न में से एक होता है:
· यदि शेल किसी फ़ंक्शन को निष्पादित कर रहा है, तो फ़ंक्शन का निष्पादन समाप्त हो जाता है।
· यदि अंतर्निहित डॉट किसी स्क्रिप्ट को निष्पादित कर रहा है, तो स्क्रिप्ट का निष्पादन समाप्त हो जाता है।
· यदि शेल आरंभीकरण के दौरान किसी स्क्रिप्ट को निष्पादित कर रहा है, तो स्क्रिप्ट का निष्पादन
समाप्त हो गया है।
· यदि शेल किसी जाल को अंजाम दे रहा है, तो जाल का निष्पादन समाप्त हो जाता है
वर्तमान में नियंत्रित सिग्नल।
· अन्यथा, शेल तब तक बाहर निकल जाता है जब तक वह इंटरैक्टिव न हो।
जब के साथ निष्पादित किया गया -n (--कोई वापसी नहीं) विकल्प, बिल्ट-इन रिटर्न के अलावा कुछ नहीं करता है
विनिर्दिष्ट निकास_स्थिति.
ऑप्शंस
-n, --कोई वापसी नहीं
किसी फ़ंक्शन, स्क्रिप्ट, ट्रैप या शेल को समाप्त न करें।
ऑपरेंड
निकास_स्थिति
बिल्ट-इन की निकास स्थिति.
मान एक गैर-ऋणात्मक पूर्णांक होना चाहिए.
यदि छोड़ा गया है, तो अंतिम निष्पादित कमांड की निकास स्थिति का उपयोग किया जाता है। (लेकिन जब खोल
एक ट्रैप निष्पादित कर रहा है, ट्रैप का उपयोग करने से पहले अंतिम कमांड की निकास स्थिति।)
निकास हैसियत
अंतर्निहित रिटर्न की निकास स्थिति को परिभाषित किया गया है निकास_स्थिति संकार्य. बाहर जाएं
स्टेटस का उपयोग समाप्त फ़ंक्शन, स्क्रिप्ट या शेल की निकास स्थिति के रूप में भी किया जाता है।
नोट्स
रिटर्न बिल्ट-इन एक विशेष बिल्ट-इन है।
POSIX मानक यह प्रदान करता है कि निकास_स्थिति ऑपरेंड 0 और 255 के बीच होना चाहिए
(सहित)। यश 255 से बड़े पूर्णांकों को विस्तार के रूप में स्वीकार करता है।
POSIX मानक में, अंतर्निहित रिटर्न का व्यवहार केवल तभी परिभाषित किया जाता है जब शेल
किसी फ़ंक्शन या स्क्रिप्ट को निष्पादित कर रहा है।
POSIX मानक अंतर्निहित रिटर्न के लिए कोई विकल्प परिभाषित नहीं करता है; अंतर्निर्मित संख्या स्वीकार करता है
POSIXly-सही मोड में विकल्प।
SET निर्मित में
RSI सेट में निर्मित शेल विकल्प और स्थितीय पैरामीटर सेट करता है।
वाक्य - विन्यास
· सेट [विकल्पs] [ओपेरंडs]
· सेट -o
· सेट +o
बिल्ट-इन सेट के लिए आवश्यक है कि सभी विकल्प ऑपरेंड से पहले हों। कोई भी कमांड लाइन तर्क
पहले ऑपरेंड के बाद सभी को ऑपरेंड माना जाता है।
विवरण
जब बिना किसी कमांड तर्क के निष्पादित किया जाता है, तो अंतर्निहित सभी मौजूदा की एक सूची प्रिंट करता है
मानक इनपुट में वेरिएबल्स को एक ऐसे रूप में रखा जाएगा जिसे कमांड के रूप में पुन: उपयोग किया जा सकता है जो पुनर्स्थापित करेगा
परिवर्तनशील परिभाषाएँ.
. -o एकमात्र कमांड तर्क है, अंतर्निहित शेल विकल्पों की एक सूची प्रिंट करता है
उनकी वर्तमान सेटिंग. कब +o एकमात्र कमांड तर्क है, अंतर्निहित प्रिंट कमांड
जिसका उपयोग वर्तमान शेल विकल्प सेटिंग्स को पुनर्स्थापित करने के लिए पुन: उपयोग किया जा सकता है।
अन्य मामलों में, अंतर्निहित परिवर्तन शेल विकल्प सेटिंग्स और/या स्थितीय पैरामीटर।
ऑप्शंस
जब एक या अधिक विकल्प निर्दिष्ट होते हैं, तो अंतर्निहित शेल को सक्षम या अक्षम कर देता है
विकल्प. एक सामान्य हाइफ़न-उपसर्ग विकल्प एक शेल विकल्प को सक्षम बनाता है। एक विकल्प जो है
एक प्लस के साथ उपसर्ग (+) एक हाइफ़न के बजाय एक शेल विकल्प को अक्षम कर देता है। उदाहरण के लिए, विकल्प
-m, -o मॉनिटर, तथा --मॉनिटर मॉनिटर विकल्प और विकल्पों को सक्षम करें +m, +o मॉनिटर,
++मॉनिटर इसे अक्षम करें।
लंबे विकल्प का नाम केस-असंवेदनशील है और इसमें अप्रासंगिक गैर-अल्फ़ान्यूमेरिक शामिल हो सकता है
जिन किरदारों को नजरअंदाज कर दिया जाता है. उदाहरण के लिए, विकल्प --ले-कॉम्प-डिबग और --LeCompDebug रहे
समकक्ष। अगर नहीं लंबे विकल्प के नाम के आगे जुड़ने पर अर्थ उलट जाता है। के लिए
उदाहरण, --noallexport के बराबर है ++ऑलएक्सपोर्ट और ++असूचित करें सेवा मेरे --सूचित करें.
एक विकल्प निम्नलिखित रूपों में से एक में निर्दिष्ट किया जा सकता है:
· एक लंबा विकल्प जैसे --allexport
· एक -o उदाहरण के लिए तर्क के रूप में निर्दिष्ट विकल्प नाम वाला विकल्प -o ऑलएक्सपोर्ट
· एकल-वर्ण विकल्प जैसे -a
सभी विकल्पों को एकल-वर्ण विकल्पों के रूप में निर्दिष्ट नहीं किया जा सकता है।
उपलब्ध विकल्प हैं:
सर्व-निर्यात (-a)
सक्षम होने पर, असाइन किए जाने पर सभी वेरिएबल स्वचालित रूप से निर्यात किए जाते हैं।
ब्रेस-विस्तार
यह विकल्प ब्रेस विस्तार को सक्षम बनाता है।
केस-ग्लोब
(डिफ़ॉल्ट रूप से सक्षम) सक्षम होने पर, पैटर्न मिलान पथनाम में केस-संवेदी होता है
विस्तार।
क्लोबर (+C)
(डिफ़ॉल्ट रूप से सक्षम) सक्षम होने पर, >पुनर्निर्देशन वैसा ही व्यवहार करता है जैसा कि >|
पुनर्निर्देशन।
cur-async, cur-bg, cur-stop
(डिफ़ॉल्ट रूप से सक्षम) ये विकल्प वर्तमान नौकरी की पसंद को प्रभावित करते हैं (सीएफ. जॉब आईडी)।
डॉट-ग्लोब
सक्षम होने पर, फ़ाइल नाम की शुरुआत में अवधियों को विशेष रूप से नहीं माना जाता है
पथनाम विस्तार.
Emacs
यह विकल्प इमैक मोड में लाइन-संपादन को सक्षम बनाता है।
त्रुटि-निकास (-e)
सक्षम होने पर, यदि कोई पाइपलाइन गैर-शून्य निकास स्थिति के साथ समाप्त होती है, तो शेल तुरंत
बाहर निकलता है जब तक:
· पाइपलाइन एक if कमांड या while या जब तक लूप की एक शर्त है;
· पाइपलाइन द्वारा उपसर्ग किया गया है !, या
· पाइपलाइन सबशेल ग्रुपिंग के अलावा एक एकल कंपाउंड कमांड है।
कार्यकारी (+n)
(डिफ़ॉल्ट रूप से सक्षम) कमांड वास्तव में तभी निष्पादित होते हैं जब यह विकल्प सक्षम होता है।
अन्यथा, आदेशों को केवल पार्स किया जाता है और निष्पादित नहीं किया जाता है। इस विकल्प को अक्षम करना संभव है
सिंटैक्स जाँच के लिए उपयोगी। एक इंटरैक्टिव शेल में, यह विकल्प हमेशा माना जाता है
सक्षम होना चाहिए।
विस्तारित-ग्लोब
यह विकल्प पथनाम विस्तार में विस्तार को सक्षम बनाता है।
ग्लोब (+f)
(डिफ़ॉल्ट रूप से सक्षम) यह विकल्प पथनाम विस्तार को सक्षम करता है।
हैश-ऑन-डिफ़ (-h)
जब यह विकल्प सक्षम होने पर कोई फ़ंक्शन परिभाषित किया जाता है, तो शेल तुरंत कार्य करता है
प्रत्येक कमांड के लिए कमांड पथ खोजें जो फ़ंक्शन में दिखाई देता है और कैश करता है
कमांड का पूरा पथ.
इतिहास-अंतरिक्ष
सक्षम होने पर, रिक्त स्थान से शुरू होने वाली कमांड लाइनें कमांड में सहेजी नहीं जाती हैं
इतिहास.
इग्नोर-ईओएफ
सक्षम होने पर, ईओएफ (फ़ाइल का अंत) इनपुट होने पर एक इंटरैक्टिव शेल बाहर नहीं निकलता है। यह
जब आप गलती से Ctrl-D दबाते हैं तो शेल को बाहर निकलने से रोकता है।
ले-ऑलवेज-आरपी, ले-कॉम्प-डिबग, ले-कन्व-मेटा, ले-नो-कन्व-मेटा, ले-प्रॉम्प्ट-एसपी, ले-विजिबल-बेल
लाइन-संपादन पर शेल विकल्प देखें।
मार्क-डीआईआर
सक्षम होने पर, परिणामी निर्देशिका नामों को पथनाम विस्तार में एक स्लैश द्वारा प्रत्यय दिया जाता है।
निगरानी करना (-m)
यह विकल्प कार्य नियंत्रण को सक्षम बनाता है. यह विकल्प किसी इंटरैक्टिव के लिए डिफ़ॉल्ट रूप से सक्षम है
खोल।
सूचित करें (-b)
जब यह विकल्प सक्षम होने पर नौकरी की स्थिति बदलती है, तो शेल तुरंत
किसी भी समय सूचित करता है. यह विकल्प नोटिफाई-ले विकल्प को ओवरराइड करता है।
सूचित करें-le
यह विकल्प सूचित विकल्प के समान है, लेकिन स्थिति परिवर्तन केवल अधिसूचित किया जाता है
जबकि शेल लाइन-एडिटिंग के साथ इनपुट की प्रतीक्षा कर रहा है।
शून्य-ग्लोब
सक्षम होने पर, पथनाम विस्तार में, ऐसे पैटर्न होते हैं जो किसी भी पथनाम से मेल नहीं खाते हैं
इसे वैसे ही छोड़े जाने के बजाय कमांड लाइन से हटा दिया गया है।
बिल्कुल सही
यह विकल्प POSIXly-सही मोड को सक्षम करता है।
ट्रेस-ऑल
(डिफ़ॉल्ट रूप से सक्षम) जब यह विकल्प अक्षम होता है, तो एक्स-ट्रेस विकल्प अस्थायी रूप से होता है
अक्षम किया गया है जबकि शेल परिभाषित कमांड निष्पादित कर रहा है
COMMAND_NOT_FOUND_HANDLER, PROMPT_COMMANDया, YASH_AFTER_CD चर।
अनसेट (+u)
(डिफ़ॉल्ट रूप से सक्षम) सक्षम होने पर, अपरिभाषित पैरामीटर खाली स्ट्रिंग्स में विस्तारित हो जाते हैं
पैरामीटर विस्तार में. अक्षम होने पर, अपरिभाषित पैरामीटर के विस्तार का परिणाम होता है
त्रुटि।
क्रियात्मक (-v)
सक्षम होने पर, शेल पार्सिंग से पहले प्रत्येक कमांड लाइन को मानक त्रुटि पर प्रिंट करता है
और इसे क्रियान्वित कर रहे हैं।
vi
यह विकल्प vi मोड में लाइन-संपादन को सक्षम बनाता है। यह विकल्प डिफ़ॉल्ट रूप से सक्षम है
यदि मानक इनपुट और त्रुटि दोनों टर्मिनल हैं तो एक इंटरैक्टिव शेल।
एक्स-ट्रेस (-x)
सक्षम होने पर, विस्तार के परिणाम प्रत्येक के लिए मानक त्रुटि पर मुद्रित होते हैं
सरल आदेश क्रियान्वित किया जा रहा है। मुद्रित होने पर, प्रत्येक पंक्ति एक विस्तार के साथ जुड़ी होती है
का परिणाम PS4 चर। ट्रेस-ऑल विकल्प भी देखें।
ऑपरेंड
यदि एक या अधिक ऑपरेंड सेट बिल्ट-इन में पास किए जाते हैं, तो वर्तमान स्थितीय पैरामीटर हैं
सभी हटा दिए गए हैं और ऑपरेंड को नए स्थितीय पैरामीटर के रूप में सेट किया गया है। यदि -- विभाजक
(cf. कमांड तर्कों का सिंटैक्स) पारित हो गया है, स्थितिगत पैरामीटर तब भी सेट किए जाते हैं
कोई ऑपरेंड नहीं है, ऐसी स्थिति में नए स्थितीय पैरामीटर कुछ भी नहीं होंगे।
निकास हैसियत
जब तक कोई त्रुटि न हो, सेट बिल्ट-इन की निकास स्थिति शून्य है।
नोट्स
सेट बिल्ट-इन एक विशेष बिल्ट-इन है।
POSIX मानक में, उपलब्ध शेल विकल्प बहुत सीमित हैं। मानक नहीं है
निर्धारित करें:
· जैसे लंबे विकल्प --allexport,
· तैयारी नहीं किसी विकल्प को नकारना,
· विकल्प नामों में बड़े अक्षरों और/या गैर-अल्फ़ान्यूमेरिक वर्णों का उपयोग करना
मानक में परिभाषित विकल्प हैं:
· -a, -o ऑलएक्सपोर्ट
· -e, -o इरेक्सिट
· -m, -o मॉनिटर
· -C, -o नोक्लोबर
· -n, -o noexec
· -f, -o नोग्लोब
· -b, -o सूचित करें
· -u, -o संज्ञा
· -v, -o वाचाल
· -x, -o एक्सट्रेस
· -h
· -o अनदेखा करना
· -o नाल
· -o vi
यश नोलॉग विकल्प का समर्थन नहीं करता है, जो फ़ंक्शन परिभाषाओं को होने से रोकता है
कमांड इतिहास में जोड़ा गया।
SHIFT निर्मित में
RSI पाली में निर्मित कुछ स्थितीय मापदंडों को हटा देता है।
वाक्य - विन्यास
· पाली [गणना]
विवरण
अंतर्निहित शिफ्ट पहले को हटा देती है गणना स्थितीय पैरामीटर.
ऑपरेंड
गणना
हटाए जाने वाले स्थितीय मापदंडों की संख्या.
यदि स्थितीय मापदंडों की वास्तविक संख्या इससे कम है तो यह एक त्रुटि है गणना. अगर
छोड़ा गया, डिफ़ॉल्ट मान एक है।
निकास हैसियत
जब तक कोई त्रुटि न हो, शिफ्ट बिल्ट-इन की निकास स्थिति शून्य है।
नोट्स
शिफ्ट बिल्ट-इन एक विशेष बिल्ट-इन है।
स्थितिगत मापदंडों की संख्या इसके साथ प्राप्त की जा सकती है # विशेष पैरामीटर.
निलंबित निर्मित में
RSI निलंबित में निर्मित खोल को निलंबित कर देता है।
वाक्य - विन्यास
· निलंबित [-एफ]
विवरण
सस्पेंड बिल्ट-इन प्रक्रिया समूह की सभी प्रक्रियाओं को एक SIGSTOP सिग्नल भेजता है
शेल प्रक्रिया संबंधित है। सिग्नल प्रक्रियाओं (शेल सहित) को निलंबित कर देता है।
SIGCONT सिग्नल प्राप्त होने पर निलंबित प्रक्रियाएँ फिर से शुरू हो जाती हैं।
यदि शेल इंटरैक्टिव है और इसकी प्रक्रिया समूह आईडी प्रक्रिया आईडी के बराबर है
सत्र लीडर, शेल एक चेतावनी संदेश प्रिंट करता है और तब तक सिग्नल भेजने से इंकार कर देता है
-f (--बल) विकल्प निर्दिष्ट है। (ऐसे मामले में, कोई अन्य कार्य-नियंत्रित शेल नहीं है
जो निलंबित शेल को फिर से शुरू करने के लिए एक SIGCONT सिग्नल भेज सकता है, इसलिए शेल कभी भी ऐसा नहीं कर सकता
फिर से शुरू।)
ऑप्शंस
-f, --बल
उन चेतावनियों को दबाएँ जो शेल को सिग्नल भेजने से रोकेंगी।
निकास हैसियत
यदि सिग्नल सफलतापूर्वक भेजा गया था तो निकास स्थिति शून्य है और अन्यथा गैर-शून्य है।
नोट्स
सस्पेंड बिल्ट-इन को POSIX मानक में परिभाषित नहीं किया गया है।
टेस्ट निर्मित में
RSI परीक्षण में निर्मित किसी अभिव्यक्ति का मूल्यांकन करता है.
वाक्य - विन्यास
· परीक्षण अभिव्यक्ति
· [ अभिव्यक्ति ]
अंतर्निहित परीक्षण विकल्पों और ऑपरेंड में अंतर नहीं करता है; सभी कमांड लाइन तर्क
के रूप में व्याख्या की जाती है अभिव्यक्ति. यदि बिल्ट-इन नाम के साथ निष्पादित किया जाता है [, अभिव्यक्ति
का पालन करना होगा ].
विवरण
अंतर्निहित परीक्षण मूल्यांकन करता है अभिव्यक्ति एक सशर्त अभिव्यक्ति के रूप में जो बनी है
ऑपरेटर और ऑपरेंड नीचे वर्णित हैं। यदि स्थिति सत्य है तो निकास स्थिति 0 है
1 अन्यथा।
नीचे दिए गए यूनरी ऑपरेटर एक फ़ाइल का परीक्षण करते हैं। यदि ऑपरेंड पट्टिका एक प्रतीकात्मक लिंक है, फ़ाइल
लिंक द्वारा संदर्भित परीक्षण किया गया है (को छोड़कर)। -h और -L ऑपरेटरों)।
-b पट्टिका
पट्टिका एक ब्लॉक विशेष फ़ाइल है
-c पट्टिका
पट्टिका एक वर्ण विशेष फ़ाइल है
-d पट्टिका
पट्टिका एक निर्देशिका है
-e पट्टिका
पट्टिका मौजूद
-f पट्टिका
पट्टिका एक नियमित फ़ाइल है
-G पट्टिका
पट्टिकाकी समूह आईडी शेल की प्रभावी समूह आईडी के समान है
-g पट्टिका
पट्टिकाका सेट-ग्रुप-आईडी ध्वज सेट है
-h पट्टिका
-एल के समान
-k पट्टिका
पट्टिकाका चिपचिपा बिट सेट है
-L पट्टिका
पट्टिका एक प्रतीकात्मक कड़ी है
-N पट्टिका
पट्टिका अंतिम संशोधन के बाद से एक्सेस नहीं किया गया है
-O पट्टिका
पट्टिकाकी उपयोगकर्ता आईडी शेल की प्रभावी उपयोगकर्ता आईडी के समान है
-p पट्टिका
पट्टिका एक फीफो (नामित पाइप) है
-r पट्टिका
पट्टिका पठनीय है
-S पट्टिका
पट्टिका एक सॉकेट है
-s पट्टिका
पट्टिका खाली नहीं है
-u पट्टिका
पट्टिकाका सेट-यूजर-आईडी ध्वज सेट है
-w पट्टिका
पट्टिका लिखने योग्य है
-x पट्टिका
पट्टिका निष्पादन योग्य है
नीचे दिया गया यूनरी ऑपरेटर फ़ाइल डिस्क्रिप्टर का परीक्षण करता है:
-t fd
fd एक टर्मिनल से जुड़ा है
नीचे दिए गए यूनरी ऑपरेटर एक स्ट्रिंग का परीक्षण करते हैं:
-n स्ट्रिंग
स्ट्रिंग खाली नहीं है
-z स्ट्रिंग
स्ट्रिंग खाली है
नीचे दिया गया यूनरी ऑपरेटर एक शेल विकल्प का परीक्षण करता है:
-o ?विकल्प
विकल्प एक वैध शेल विकल्प नाम है
-o विकल्प
विकल्प एक वैध शेल विकल्प नाम है जो सक्षम है
नीचे दिए गए बाइनरी ऑपरेटर फ़ाइलों की तुलना करते हैं। गैर-मौजूदा फ़ाइलें किसी भी फ़ाइल से पुरानी मानी जाती हैं
मौजूदा फ़ाइलें.
file1 -एनटीई file2
file1 से नया है file2
file1 -ओटी file2
file1 से बूढ़ा है file2
file1 -ईएफ file2
file1 की एक कड़ी कड़ी है file2
नीचे दिए गए बाइनरी ऑपरेटर स्ट्रिंग्स की तुलना करते हैं:
string1 = string2
string1 के समान ही स्ट्रिंग है string2
string1 != string2
string1 के समान स्ट्रिंग नहीं है string2
नीचे दिए गए बाइनरी ऑपरेटर वर्णमाला क्रम के अनुसार स्ट्रिंग की तुलना करते हैं
वर्तमान स्थान:
string1 === string2
string1 के बराबर है string2
string1 ! == string2
string1 के बराबर नहीं है string2
string1 < string2
string1 से कम है string2
string1 <= string2
string1 से कम या बराबर है string2
string1 > string2
string1 से अधिक है string2
string1 >= string2
string1 से अधिक या बराबर है string2
नीचे दिया गया बाइनरी ऑपरेटर पैटर्न मिलान करता है:
स्ट्रिंग =~ पैटर्न
विस्तारित नियमित अभिव्यक्ति पैटर्न मैच स्ट्रिंग
नीचे दिए गए बाइनरी ऑपरेटर पूर्णांकों की तुलना करते हैं:
v1 -ईक्यू v2
v1 के बराबर है v2
v1 -ने v2
v1 के बराबर नहीं है v2
v1 -gt v2
v1 से अधिक है v2
v1 -देना v2
v1 से अधिक या बराबर है v2
v1 -एलटीई v2
v1 से कम है v2
v1 -इस v2
v1 से कम या बराबर है v2
नीचे दिए गए बाइनरी ऑपरेटर संस्करण संख्याओं की तुलना करते हैं:
v1 -वेक v2
v1 के बराबर है v2
v1 -vne v2
v1 के बराबर नहीं है v2
v1 -vgt v2
v1 से अधिक है v2
v1 -vge v2
v1 से अधिक या बराबर है v2
v1 -vlt v2
v1 से कम है v2
v1 -vle v2
v1 से कम या बराबर है v2
जटिल अभिव्यक्तियाँ बनाने के लिए नीचे दिए गए ऑपरेटरों का उपयोग किया जा सकता है:
! अभिव्यक्ति
परिणाम को नकारें (उल्टा करें)।
( अभिव्यक्ति )
ऑपरेटर प्राथमिकता बदलें
अभिव्यक्ति1 -a अभिव्यक्ति2
तार्किक संयोजन (और)
अभिव्यक्ति1 -o अभिव्यक्ति2
तार्किक विच्छेदन (या)
यदि अभिव्यक्ति ऑपरेटरों के बिना एक एकल शब्द है, तो -n ऑपरेटर मान लिया गया है. एक खाली
अभिव्यक्ति असत्य का मूल्यांकन करती है।
तुलना of संस्करण संख्या
संस्करण संख्याओं की तुलना वर्णमाला क्रम में स्ट्रिंग्स की तुलना के समान है।
मतभेद हैं:
· आसन्न अंकों को पूर्णांक माना जाता है. गणितीय में पूर्णांकों की तुलना की जाती है
वर्णानुक्रम के बजाय क्रमबद्ध करें।
· अंकों को किसी भी गैर-अंकीय वर्ण से बड़ा माना जाता है.
उदाहरण के लिए, संस्करण संख्याएँ 0.1.2-3 और 00.001.02-3 बराबर हैं और 0.2.1 छोटा है
से 0.10.0.
निकास हैसियत
यदि अंतर्निहित परीक्षण की निकास स्थिति 0 है अभिव्यक्ति सत्य है और 1 अन्यथा। बाहर जाएं
स्थिति 2 है यदि अभिव्यक्ति सिंटैक्स त्रुटि या किसी अन्य कारण से मूल्यांकन नहीं किया जा सकता
कारणों।
नोट्स
जटिल अभिव्यक्तियाँ भ्रम पैदा कर सकती हैं और इनसे बचना चाहिए। शैल के यौगिक का प्रयोग करें
आदेश. उदाहरण के लिए, [ 1 -ईक्यू 1 ] && [ -t = 1 ] && ! [ foo ] पर पसंद किया जाता है [ 1 -ईक्यू 1
-a -t = 1 -a ! foo ].
POSIX मानक प्रदान करता है कि त्रुटि पर निकास स्थिति 1 से बड़ी होनी चाहिए।
POSIX मानक निम्नलिखित ऑपरेटरों को परिभाषित नहीं करता है: -एनटीई, -ओटी, -ईएफ, ==, ===, ! ==, <,
<=, >, >=, =~, -वेक, -vne, -vgt, -vge, -vlt, तथा -vle. POSIX न तो निर्दिष्ट करता है -o एक के रूप में
यूनरी ऑपरेटर.
टाइम्स निर्मित में
RSI बार में निर्मित सीपीयू समय उपयोग प्रिंट करता है।
वाक्य - विन्यास
· बार
विवरण
अंतर्निहित समय शेल प्रक्रिया और उसके बच्चे द्वारा उपभोग किए गए सीपीयू समय को प्रिंट करता है
मानक आउटपुट के लिए प्रक्रियाएं।
बिल्ट-इन दो लाइनें प्रिंट करता है: पहली पंक्ति शेल प्रक्रिया का सीपीयू समय दिखाती है और
दूसरा इसकी बाल प्रक्रियाओं का (उनमें शामिल नहीं है जो नहीं हुई हैं
समाप्त)। प्रत्येक पंक्ति उपयोगकर्ता और सिस्टम मोड में खपत किए गए CPU समय को दर्शाती है।
निकास हैसियत
जब तक कोई त्रुटि न हो, अंतर्निहित समय की निकास स्थिति शून्य है।
नोट्स
निर्मित समय एक विशेष अंतर्निहित है।
चक्रव्यूह निर्मित में
RSI जाल में निर्मित सिग्नल हैंडलर सेट या प्रिंट करता है।
वाक्य - विन्यास
· जाल
· जाल कार्य संकेत...
· जाल सिग्नल_नंबर [संकेत...]
· जाल -p [संकेत...]
विवरण
अंतर्निहित ट्रैप उन क्रियाओं को सेट या प्रिंट करता है जो शेल को सिग्नल प्राप्त होने पर की जाती हैं।
(उन क्रियाओं को कहा जाता है जाल.)
जब साथ निष्पादित किया गया कार्य और एक या अधिक संकेतएस, बिल्ट-इन जाल सेट करता है संकेतs
सेवा मेरे कार्य. यदि शेल को कोई सिग्नल प्राप्त होता है, तो कार्रवाई की जाएगी।
यदि पहला ऑपरेंड है सिग्नल_नंबर के बजाय कार्य, अंतर्निहित जाल को रीसेट करता है
सिग्नल_नंबर और संकेतऐसा मानो कार्य था -.
जब के साथ निष्पादित किया गया -p (--प्रिंट) विकल्प या बिना किसी ऑपरेंड के, अंतर्निहित प्रिंट
वर्तमान में मानक आउटपुट के लिए ऐसे प्रारूप में ट्रैप सेट करें जिसे कमांड के रूप में निष्पादित किया जा सके
जो वर्तमान जालों को पुनर्स्थापित करता है। यदि एक या अधिक संकेतs निर्दिष्ट हैं, केवल वे संकेत
मुद्रित हैं. अन्यथा, गैर-डिफ़ॉल्ट क्रियाओं वाले सभी सिग्नल मुद्रित होते हैं। (कुछ में
हालाँकि, स्थितियों में, अंतर्निहित ट्रैप सेटिंग्स वर्तमान के बजाय पिछली ट्रैप सेटिंग्स को प्रिंट कर सकती हैं।
नीचे नोट देखें।)
ऑप्शंस
-p, --प्रिंट
वर्तमान ट्रैप सेटिंग्स प्रिंट करें।
ऑपरेंड
कार्य
कब होगी कार्रवाई संकेत मिला है।
If कार्य एक एकल हाइफ़न है (-), क्रिया को डिफ़ॉल्ट क्रिया पर रीसेट कर दिया जाता है
ऑपरेटिंग सिस्टम द्वारा परिभाषित. अगर कार्य एक खाली स्ट्रिंग है, संकेत पर ध्यान नहीं दिया जाता है
प्राप्त होने पर। अन्यथा, कार्य इसे कमांड स्ट्रिंग के रूप में माना जाता है: स्ट्रिंग को पार्स किया जाता है और
सिग्नल प्राप्त होने पर कमांड के रूप में निष्पादित किया जाता है। (यदि कोई संकेत प्राप्त होता है तो a
आदेश निष्पादित किया जा रहा है, आदेश समाप्त होने के तुरंत बाद कार्रवाई की जाती है।)
संकेत
सिग्नल की संख्या या नाम.
If संकेत संख्या है 0 या नाम बाहर निकलें, इसे एक विशेष काल्पनिक संकेत के रूप में माना जाता है
शेल के बाहर निकलने पर हमेशा प्राप्त होता है। इस सिग्नल के लिए निर्धारित कार्रवाई कब की जाती है
शेल सामान्य रूप से बाहर निकलता है.
सिग्नल_नंबर
यह इसके जैसा है संकेत, लेकिन एक संख्या होनी चाहिए.
निकास हैसियत
जब तक कोई त्रुटि न हो, अंतर्निहित ट्रैप की निकास स्थिति शून्य है।
नोट्स
अंतर्निर्मित जाल एक विशेष अंतर्निर्मित जाल है।
POSIX मानक के लिए आवश्यक है कि सिग्नल नाम बिना निर्दिष्ट किए जाने चाहिए हस्ताक्षर-उपसर्ग,
पसंद INT और छोड़ो. विस्तार के रूप में, यश स्वीकार करता है हस्ताक्षर-उपसर्ग नाम जैसे SIGINT और
जांच और सिग्नल नामों को केस-असंवेदनशील तरीके से व्यवहार करता है।
पुनर्प्रयोग उत्पादन of la में निर्मित
बिल्ट-इन ट्रैप के आउटपुट को एक वेरिएबल में सेव किया जा सकता है, जिसे बाद में निष्पादित किया जा सकता है
जाल को पुनर्स्थापित करने के लिए ईवल अंतर्निहित है।
save_traps=$(जाल)
ट्रैप '...' INT
eval "$save_traps"
इस मुहावरे को अनुमति देने के लिए पर्दे के पीछे कुछ तरकीबें हैं। आप एक कमांड का उपयोग करें
वेरिएबल में निर्मित ट्रैप के आउटपुट को बचाने के लिए प्रतिस्थापन। आदेश
प्रतिस्थापन को एक उपकोश में क्रियान्वित किया जाता है। उपकोश सभी जालों को रीसेट करता है (अनदेखे को छोड़कर)।
वाले) स्वयं की शुरुआत में। ऐसा प्रतीत होता है कि इसका परिणाम (लगभग) खाली आउटपुट होगा
बिल्ट-इन से उम्मीद के मुताबिक जाल को बहाल करने में विफल रहेगा।
उस ख़तरे से बचने के लिए, POSIX को शेल को दो विकल्पों में से एक का पालन करने की आवश्यकता है
नीचे:
· यदि कमांड प्रतिस्थापन में केवल एक ही ट्रैप अंतर्निहित है, तो ट्रैप नहीं होना चाहिए
बिल्ट-इन निष्पादित करने के लिए सबशेल शुरू होने पर रीसेट किया जाना चाहिए; या
· एक उपकोश हमेशा जाल को रीसेट करता है लेकिन पिछले जाल को याद रखता है। यदि जाल
बिल्ट-इन को सबशेल में निष्पादित किया गया है लेकिन किसी अन्य ट्रैप बिल्ट-इन को निष्पादित नहीं किया गया है
सबशेल में ट्रैप को संशोधित करने के लिए, बिल्ट-इन को याद किया गया प्रिंट करना चाहिए
जाल।
यश दूसरी बात मानता है.
जब सही है निर्मित में
RSI <strong>उद्देश्य</strong> में निर्मित सफलतापूर्वक कुछ नहीं करता.
वाक्य - विन्यास
· <strong>उद्देश्य</strong>
विवरण
सच्चा बिल्ट-इन कुछ नहीं करता. किसी भी कमांड लाइन तर्क को नजरअंदाज कर दिया जाता है।
निकास हैसियत
वास्तविक अंतर्निर्मित की निकास स्थिति शून्य है।
नोट्स
वास्तविक बिल्ट-इन एक अर्ध-विशेष बिल्ट-इन है।
ट्रू और कोलन बिल्ट-इन का प्रभाव समान होता है, लेकिन ट्रू एक अर्ध-विशेष बिल्ट-इन होता है
जबकि कोलन एक विशेष है।
TYPE निर्मित में
RSI टाइप में निर्मित एक कमांड की पहचान करता है.
वाक्य - विन्यास
· टाइप [-abefkp] [आदेश...]
विवरण
बिल्ट-इन प्रकार, बिल्ट-इन कमांड के बराबर है -V विकल्प.
नोट्स
POSIX मानक बिल्ट-इन प्रकार और कमांड के बीच संबंध को परिभाषित नहीं करता है।
मानक अंतर्निहित प्रकार के लिए विकल्पों को परिभाषित नहीं करता है।
कम से कम एक आदेश ऑपरेंड को POSIXly-सही मोड में निर्दिष्ट किया जाना चाहिए।
टाइपसेट निर्मित में
RSI टाइपसेट में निर्मित वेरिएबल या फ़ंक्शंस को प्रिंट या सेट करता है।
वाक्य - विन्यास
· टाइपसेट [-gprxX] [परिवर्तनशील[=मूल्य]...]
· टाइपसेट -एफ[पीआर] [समारोह...]
विवरण
यदि इसके बिना निष्पादित किया जाता है -f (--फ़ंक्शंस) विकल्प, टाइपसेट अंतर्निर्मित प्रिंट या सेट
मानक आउटपुट के लिए चर। अन्यथा, यह फ़ंक्शन प्रिंट या सेट करता है।
यदि के साथ क्रियान्वित किया जाता है -p (--प्रिंट) विकल्प, अंतर्निहित वेरिएबल या फ़ंक्शंस प्रिंट करता है
ऑपरेंड द्वारा निर्दिष्ट। विकल्प के बिना, यह चर या फ़ंक्शन सेट करता है। यदि कोई ऑपरेंड नहीं है
निर्दिष्ट हैं, यह सभी मौजूदा चर या फ़ंक्शंस को प्रिंट करता है, भले ही -p
(--प्रिंट) विकल्प निर्दिष्ट है।
ऑप्शंस
-f, --फ़ंक्शंस
वेरिएबल के बजाय फ़ंक्शंस प्रिंट या सेट करें।
-g, --वैश्विक
एक नया वैरिएबल सेट करते समय, यदि यह विकल्प है तो वेरिएबल एक वैश्विक वैरिएबल होगा
निर्दिष्ट. इस विकल्प के बिना, वेरिएबल एक स्थानीय वेरिएबल होगा।
वैरिएबल प्रिंट करते समय, वैश्विक वैरिएबल सहित सभी मौजूदा वैरिएबल मुद्रित होते हैं
यदि यह विकल्प निर्दिष्ट है. इस विकल्प के बिना, केवल स्थानीय चर मुद्रित होते हैं।
-p, --प्रिंट
वेरिएबल्स या फ़ंक्शंस को ऐसे रूप में प्रिंट करें जिन्हें पार्स किया जा सके और कमांड के रूप में निष्पादित किया जा सके
जो वर्तमान में सेट किए गए वेरिएबल्स या फ़ंक्शंस को पुनर्स्थापित करेगा।
-r, --सिफ़ पढ़िये
वेरिएबल या फ़ंक्शंस सेट करते समय, उन्हें केवल-पढ़ने के लिए बनाएं।
वेरिएबल्स या फ़ंक्शंस को प्रिंट करते समय, केवल-पढ़ने योग्य वेरिएबल्स या फ़ंक्शंस को प्रिंट करें।
-x, --निर्यात
वेरिएबल सेट करते समय, उन्हें निर्यात के लिए चिह्नित करें, ताकि उन्हें निर्यात किया जा सके
बाहरी आदेश.
वेरिएबल प्रिंट करते समय, केवल निर्यात किए गए वेरिएबल प्रिंट करें।
-X, --अननिर्यात
वेरिएबल सेट करते समय, वेरिएबल का निर्यात रद्द करें।
ऑपरेंड
परिवर्तनशील (के बग़ैर मूल्य)
किसी वेरिएबल का नाम जिसे सेट या प्रिंट किया जाना है।
के बिना -p (--प्रिंट) विकल्प, चर परिभाषित है (यदि अभी तक परिभाषित नहीं है) लेकिन इसका
मान सेट नहीं किया गया है और न ही बदला गया है. जिन चरों को बिना मानों के परिभाषित किया गया है, उन्हें इस प्रकार माना जाता है
पैरामीटर विस्तार में अनसेट।
परिवर्तनशील=मूल्य
एक वेरिएबल का नाम और उसका नया मान.
मान वेरिएबल को असाइन किया गया है (इसकी परवाह किए बिना)। -p (--प्रिंट) विकल्प)।
समारोह
किसी मौजूदा फ़ंक्शन का नाम जिसे सेट या मुद्रित किया जाना है।
निकास हैसियत
जब तक कोई त्रुटि न हो, अंतर्निहित टाइपसेट की निकास स्थिति शून्य है।
नोट्स
यदि कोई स्थानीय चर पहले ही परिभाषित किया जा चुका है तो वैश्विक चर को नए सिरे से परिभाषित नहीं किया जा सकता है
इसी नाम से. स्थानीय वैरिएबल इसकी परवाह किए बिना सेट किया जाएगा -g (--वैश्विक) विकल्प।
POSIX मानक अंतर्निहित टाइपसेट को परिभाषित नहीं करता है।
एक्सपोर्ट और रीडओनली बिल्ट-इन के साथ बिल्ट-इन टाइपसेट के बराबर हैं -जीएक्स और
-जीआर विकल्प, क्रमशः।
उलिमिट निर्मित में
RSI अलिमित में निर्मित संसाधन सीमा निर्धारित या प्रिंट करता है।
वाक्य - विन्यास
· अलिमित -a [-एच|-एस]
· अलिमित [-एच|-एस] [-efilnqrstuvx] [सीमा]
विवरण
यूलिमिट बिल्ट-इन संसाधन सीमा निर्धारित या प्रिंट करता है।
यदि के साथ क्रियान्वित किया जाता है -a (--सब) विकल्प, अंतर्निहित सभी के लिए वर्तमान सीमाएं प्रिंट करता है
संसाधन प्रकार. अन्यथा, यह एकल संसाधन प्रकार की सीमा निर्धारित या प्रिंट करता है।
संसाधन प्रकार को नीचे सूचीबद्ध विकल्पों द्वारा निर्दिष्ट किया जा सकता है। संसाधन सीमा होगी
वर्तमान शेल प्रक्रिया और शेल से आने वाले सभी कमांड को प्रभावित करते हैं।
प्रत्येक संसाधन प्रकार के दो सीमा मान होते हैं: कठोर और नरम सीमा। आप एक नरम बदल सकते हैं
जब तक यह कठोर सीमा से अधिक न हो जाए तब तक स्वतंत्र रूप से सीमित करें। आप एक कठिन सीमा घटा सकते हैं
लेकिन उचित अनुमति के बिना इसे बढ़ाया नहीं जा सकता।
जब -H (--मुश्किल) या -S (--मुलायम) विकल्प निर्दिष्ट है, अंतर्निहित सेट या प्रिंट करता है
क्रमशः कठोर या नरम सीमा। यदि कोई भी विकल्प निर्दिष्ट नहीं है, तो अंतर्निहित
हार्ड और सॉफ्ट दोनों सीमा निर्धारित करता है या सॉफ्ट सीमा प्रिंट करता है।
ऑप्शंस
-H, --मुश्किल
हार्ड लिमिट सेट करें या प्रिंट करें.
-S, --मुलायम
सॉफ्ट लिमिट सेट करें या प्रिंट करें।
-a, --सब
सभी मौजूदा सीमा सेटिंग्स प्रिंट करें।
निम्नलिखित विकल्प संसाधनों के प्रकार को निर्दिष्ट करते हैं। यदि उनमें से कोई भी निर्दिष्ट नहीं है, -f is
डिफ़ॉल्ट। सेट किए जा सकने वाले संसाधनों के प्रकार ऑपरेटिंग सिस्टम पर निर्भर करते हैं।
-c, --सार
बनाई गई कोर फ़ाइलों का अधिकतम आकार (512-बाइट ब्लॉक में)
-d, --आंकड़े
किसी प्रक्रिया के डेटा खंड का अधिकतम आकार (किलोबाइट में)
-e, --अच्छा
अधिकतम शेड्यूलिंग प्राथमिकता ('अच्छा')
-f, --फ़साइज़
किसी प्रक्रिया द्वारा बनाई गई फ़ाइलों का अधिकतम आकार (512-बाइट ब्लॉक में)
-i, --सिग्पेंडिंग
लंबित सिग्नलों की अधिकतम संख्या
-l, --मेमलॉक
अधिकतम मेमोरी आकार जिसे रैम में लॉक किया जा सकता है (किलोबाइट में)
-m, --आरएसएस
किसी प्रक्रिया के रेजिडेंट सेट का अधिकतम आकार (किलोबाइट में)
-n, --कोई फ़ाइल नहीं
अधिकतम फ़ाइल डिस्क्रिप्टर + 1
-q, --msgqueue
POSIX संदेश कतारों का अधिकतम आकार
-r, --rtprio
अधिकतम वास्तविक समय शेड्यूलिंग प्राथमिकता
-s, --ढेर
किसी प्रक्रिया के स्टैक का अधिकतम आकार (किलोबाइट में)
-t, --सी पी यू
किसी प्रक्रिया द्वारा उपयोग किया जा सकने वाला अधिकतम CPU समय (सेकंड में)
-u, --एनप्रोक
किसी उपयोगकर्ता के लिए प्रक्रियाओं की अधिकतम संख्या
-v, --जैसा
किसी प्रक्रिया द्वारा उपयोग की जाने वाली मेमोरी का अधिकतम आकार (किलोबाइट में)
-x, --ताले
फ़ाइल लॉक की अधिकतम संख्या
ऑपरेंड
सीमा
एक सीमा तय की जानी है.
मान एक गैर-ऋणात्मक पूर्णांक या इनमें से एक होना चाहिए कठिन, नरम, तथा असीमित. अगर मूल्य
is कठिन or नरम, नई सीमा वर्तमान हार्ड या सॉफ्ट सीमा पर सेट की गई है। अगर सीमा is
निर्दिष्ट नहीं है, वर्तमान सीमा मुद्रित है।
निकास हैसियत
जब तक कोई त्रुटि न हो, यूलिमिट बिल्ट-इन की निकास स्थिति शून्य है।
नोट्स
POSIX मानक इसके अलावा किसी अन्य विकल्प को परिभाषित नहीं करता है -f. यह न तो परिभाषित करता है कठिन, नरमया,
असीमित एसटी सीमा मूल्यों.
उमास्क निर्मित में
RSI umask में निर्मित फ़ाइल मोड निर्माण मास्क सेट या प्रिंट करता है।
वाक्य - विन्यास
· umask मुखौटा
· umask [-एस]
विवरण
यदि इसके बिना निष्पादित किया जाता है मुखौटा ऑपरेंड, अंतर्निहित वर्तमान फ़ाइल मोड निर्माण को प्रिंट करता है
मानक आउटपुट के लिए शेल का मुखौटा एक ऐसे रूप में जिसे बाद में उपयोग किया जा सकता है मुखौटा सेवा मेरे
वर्तमान मास्क को पुनर्स्थापित करें.
अन्यथा, बिल्ट-इन फ़ाइल मोड निर्माण मास्क को सेट करता है मुखौटा.
ऑप्शंस
-S, --प्रतीकात्मक
ऑक्टल पूर्णांक रूप के बजाय प्रतीकात्मक रूप में प्रिंट करें।
ऑपरेंड
मुखौटा
नई फ़ाइल मोड निर्माण मास्क या तो प्रतीकात्मक या अष्टक पूर्णांक रूप में।
अष्टभुजाकार पूर्णांक प्रपत्र
ऑक्टल पूर्णांक रूप में, मास्क को एक गैर-नकारात्मक ऑक्टल पूर्णांक के रूप में निर्दिष्ट किया जाता है
निम्नलिखित अनुमतियों का योग है:
0400
मालिक द्वारा पढ़ें
0200
मालिक द्वारा लिखें
0100
स्वामी द्वारा निष्पादित/खोजें
0040
समूह द्वारा पढ़ें
0020
समूह द्वारा लिखें
0010
समूह द्वारा निष्पादित/खोजें
0004
दूसरों द्वारा पढ़ा गया
0002
दूसरों द्वारा लिखें
0001
दूसरों द्वारा निष्पादित/खोजें
प्रतीकात्मक प्रपत्र
प्रतीकात्मक रूप में मुखौटे को एक प्रतीकात्मक अभिव्यक्ति के रूप में निर्दिष्ट किया जाता है जो दर्शाता है
अनुमतियाँ जो हैं नहीं मास्क में शामिल है.
संपूर्ण अभिव्यक्ति एक या अधिक है धाराको अल्पविराम से अलग किया गया है. ए धारा एक
के अनुक्रम कौनएक या अधिक द्वारा अनुसरण किया जाता है कार्यs.
A कौन में से एक है:
u
मालिक
g
समूह
o
दूसरों
a
स्वामी, समूह और अन्य सभी
का एक खाली क्रम कौनs who के बराबर है a.
An कार्य है एक ऑपरेटर द्वारा पीछा अनुमति. एक ऑपरेटर में से एक है:
=
सेट कौनकी अनुमति है अनुमति
+
जोड़ना अनुमति सेवा मेरे कौनकी अनुमति
-
हटाना अनुमति से कौनकी अनुमति
और अनुमति में से एक है:
r
पढ़ना
w
लिखना
x
निष्पादित/खोजें
X
निष्पादित/खोज (केवल तभी जब किसी उपयोगकर्ता के पास पहले से ही निष्पादन/खोज की अनुमति हो)
s
सेट-यूजर-आईडी और सेट-ग्रुप-आईडी
u
उपयोगकर्ता की वर्तमान अनुमतियाँ
g
समूह की वर्तमान अनुमतियाँ
o
दूसरों की वर्तमान अनुमतियाँ
लेकिन एक से अधिक r, w, x, X, तथा s एक के बाद निर्दिष्ट किया जा सकता है ओपेरंड.
उदाहरण के लिए, कमांड umask यू=आरडब्ल्यूएक्स,गो+आरडब्ल्यू
· उपयोगकर्ता की पढ़ने, लिखने और निष्पादित/खोज अनुमतियों को उजागर करता है;
· समूह और अन्य लोगों की पढ़ने की अनुमति को उजागर करता है; और
· समूह और अन्य लोगों की लिखित अनुमति को छुपाता है।
निकास हैसियत
जब तक कोई त्रुटि न हो, उमास्क बिल्ट-इन की निकास स्थिति शून्य है।
नोट्स
उमास्क बिल्ट-इन एक अर्ध-विशेष बिल्ट-इन है।
POSIX मानक को डिफ़ॉल्ट आउटपुट प्रारूप की आवश्यकता नहीं होती है (जब इसका उपयोग किया जाता है -S विकल्प है
निर्दिष्ट नहीं) अष्टक पूर्णांक रूप होना।
यूनालियास निर्मित में
RSI अनलिया में निर्मित उपनामों को अपरिभाषित करता है।
वाक्य - विन्यास
· अनलिया नाम...
· अनलिया -a
विवरण
यूनलियास बिल्ट-इन ऑपरेंड द्वारा निर्दिष्ट उपनामों की परिभाषा को हटा देता है।
ऑप्शंस
-a, --सब
सभी उपनामों को अपरिभाषित करें.
ऑपरेंड
नाम
किसी उपनाम का नाम अपरिभाषित होना.
निकास हैसियत
जब तक कोई त्रुटि न हो, यूनलियास बिल्ट-इन की निकास स्थिति शून्य है। यह एक त्रुटि है
किसी गैर-मौजूदा उपनाम का नाम निर्दिष्ट करने के लिए नाम.
नोट्स
यूनालियास बिल्ट-इन एक अर्ध-विशेष बिल्ट-इन है।
सेट किए बिना निर्मित में
RSI सेट नहीं में निर्मित चर या फ़ंक्शन को अपरिभाषित करता है।
वाक्य - विन्यास
· सेट नहीं [-fv] [नाम...]
विवरण
अनसेट बिल्ट-इन द्वारा निर्दिष्ट वेरिएबल्स या फ़ंक्शंस की परिभाषा को हटा देता है
संकार्य।
यदि कोई निर्दिष्ट चर या फ़ंक्शन मौजूद नहीं है तो यह कोई त्रुटि नहीं है; वे हैं
चुपचाप नजरअंदाज कर दिया।
ऑप्शंस
-f, --फ़ंक्शंस
अपरिभाषित कार्य.
-v, --चर
अपरिभाषित चर.
ये विकल्प परस्पर अनन्य हैं: केवल अंतिम निर्दिष्ट विकल्प ही प्रभावी है। यदि न तो
अधिकृत है, -v माना जाता है।
ऑपरेंड
नाम
किसी वेरिएबल या फ़ंक्शन का नाम अपरिभाषित होना।
निकास हैसियत
जब तक कोई त्रुटि न हो, अनसेट बिल्ट-इन की निकास स्थिति शून्य है।
नोट्स
अनसेट बिल्ट-इन एक विशेष बिल्ट-इन है।
हालाँकि यश ऐसा नहीं करता है, POSIX मानक किसी फ़ंक्शन को हटाने की अनुमति देता है यदि दोनों में से कोई भी नहीं
la -f और -v विकल्प निर्दिष्ट है और निर्दिष्ट चर मौजूद नहीं है।
कम से कम एक नाम ऑपरेंड को POSIXly-सही मोड में निर्दिष्ट किया जाना चाहिए।
रुको निर्मित में
RSI प्रतीक्षा में निर्मित नौकरियाँ ख़त्म होने का इंतज़ार करता है।
वाक्य - विन्यास
· प्रतीक्षा [काम...]
विवरण
अंतर्निहित प्रतीक्षा पृष्ठभूमि नौकरियों के समाप्त होने की प्रतीक्षा करती है। यदि कार्य नियंत्रण सक्षम है,
रुकी हुई नौकरियों को समाप्त माना जाता है।
यदि कार्य नियंत्रण अक्षम है तो बिल्ट-इन का उपयोग एसिंक्रोनस कमांड की प्रतीक्षा करने के लिए किया जा सकता है।
यदि अंतर्निहित प्रतीक्षा के दौरान शेल को सिग्नल प्राप्त होता है और यदि जाल बिछाया गया है
सिग्नल के लिए, फिर ट्रैप निष्पादित किया जाता है और बिल्ट-इन तुरंत समाप्त हो जाता है (बिना)।
नौकरियों की प्रतीक्षा में)। यदि कार्य नियंत्रण सक्षम होने पर शेल को SIGINT सिग्नल प्राप्त होता है,
अंतर्निर्मित गर्भपात प्रतीक्षा कर रहा है।
ऑपरेंड
काम
नौकरी की जॉब आईडी या नौकरी में किसी प्रक्रिया की प्रक्रिया आईडी।
यदि नही कामनिर्दिष्ट हैं, अंतर्निहित सभी मौजूदा नौकरियों के लिए प्रतीक्षा करता है।
यदि निर्दिष्ट कार्य मौजूद नहीं है, तो कार्य को समाप्त माना जाता है
127 की निकास स्थिति.
निकास हैसियत
यदि नही कामनिर्दिष्ट किए गए थे और अंतर्निहित सभी नौकरियों, निकास के लिए सफलतापूर्वक प्रतीक्षा की गई थी
स्थिति शून्य है. यदि एक या अधिक कामनिर्दिष्ट किए गए थे, निकास स्थिति अंतिम की है
काम.
यदि अंतर्निहित सिग्नल द्वारा निरस्त कर दिया गया था, तो निकास स्थिति एक पूर्णांक (> 128) है
संकेत को दर्शाता है. यदि कोई अन्य त्रुटि थी, तो निकास स्थिति 1 और 126 के बीच है
(सहित)।
नोट्स
वेट बिल्ट-इन एक अर्ध-विशेष बिल्ट-इन है।
किसी कार्य की अंतिम प्रक्रिया की प्रक्रिया आईडी प्राप्त की जा सकती है ! विशेष पैरामीटर.
आप कार्य प्रक्रियाओं की प्रक्रिया आईडी प्राप्त करने के लिए अंतर्निहित नौकरियों का भी उपयोग कर सकते हैं।
onworks.net सेवाओं का उपयोग करके यश का ऑनलाइन उपयोग करें