Skip to main content

लिनक्स - यूनिक्स कमांड: बैश

Important Linux Commands for Beginners: Linux Tutorial (जून 2026)

Important Linux Commands for Beginners: Linux Tutorial (जून 2026)
Anonim

लिनक्स कमांड दे घुमा के है एक- संगत कमांड भाषा दुभाषिया जो मानक इनपुट या फ़ाइल से पढ़ने वाले आदेश निष्पादित करता है।दे घुमा के कॉर्न और सी गोले से उपयोगी विशेषताओं को भी शामिल करता है (क्ष तथाcsh).

बैश विकल्प

विवरण में दस्तावेज किए गए सिंगल-कैरेक्टर शैल विकल्पों के अलावासेट बिल्टिन कमांड,दे घुमा के जब इसे बुलाया जाता है तो निम्न विकल्पों का व्याख्या करता है:

  • -सी स्ट्रिंग: अगर-सी विकल्प मौजूद है, तो आदेश से पढ़ा जाता है तार । यदि तर्क के बाद तर्क हैं तार , वे से शुरू होने वाले स्थितित्मक मानकों को सौंपा गया है$0.
  • -मैं: अगर-मैं विकल्प मौजूद है, खोल है इंटरैक्टिव .
  • -l: बनानादे घुमा के ऐसा लगता है जैसे इसे लॉगिन खोल के रूप में बुलाया गया था।
  • -r: अगर-r विकल्प मौजूद है, खोल बन जाता है वर्जित।
  • -s: अगर-s विकल्प मौजूद है, या यदि विकल्प प्रसंस्करण के बाद कोई तर्क नहीं रहता है, तो मानक इनपुट से कमांड पढ़े जाते हैं। यह विकल्प एक इंटरैक्टिव खोल का आह्वान करते समय स्थितित्मक पैरामीटर सेट करने की अनुमति देता है।
  • डी: इससे पहले सभी डबल-उद्धृत तारों की एक सूची$ मानक आउटपुट पर मुद्रित है। ये तार हैं जो मौजूदा लोकेल नहीं होने पर भाषा अनुवाद के अधीन हैंसी याPOSIX। इसका तात्पर्य है -n विकल्प; कोई आदेश निष्पादित नहीं किया जाएगा।
  • - + हे shopt_option : shopt_option द्वारा स्वीकार किए गए खोल विकल्पों में से एक हैshopt builtin। अगर shopt_option उपस्थित है,-O उस विकल्प का मान सेट करता है, और+ O इसे unsets। अगर shopt_option आपूर्ति नहीं की जाती है, खोल विकल्प के नाम और मूल्य स्वीकार किए जाते हैंshopt मानक आउटपुट पर मुद्रित हैं। अगर आमंत्रण विकल्प है + O, आउटपुट को एक प्रारूप में प्रदर्शित किया जाता है जिसे इनपुट के रूप में पुन: उपयोग किया जा सकता है।
  • --: -- विकल्पों के अंत को संकेत देता है और आगे विकल्प प्रसंस्करण अक्षम करता है। के बाद कोई तर्क-- फाइलनाम और तर्क के रूप में माना जाता है। का एक तर्क- के बराबर है--.

दे घुमा के कई बहु-चरित्र विकल्पों का भी व्याख्या करता है। सिंगल-कैरेक्टर विकल्पों को पहचानने से पहले ये विकल्प कमांड लाइन पर दिखाई देना चाहिए:

  • --dump-पो-तार: के बराबरडी, लेकिन आउटपुट जीएनयू में है gettext पो (पोर्टेबल ऑब्जेक्ट) फ़ाइल प्रारूप।
  • --dump-तार: के बराबरडी.
  • --मदद: मानक आउटपुट पर एक उपयोग संदेश प्रदर्शित करें और सफलतापूर्वक बाहर निकलें।
  • --init-फ़ाइल: फ़ाइल तथा --rcfile फ़ाइल : से आदेश निष्पादित करें फ़ाइल मानक व्यक्तिगत प्रारंभिक फ़ाइल के बजाय ~ / .Bashrc अगर खोल इंटरैक्टिव है।
  • --लॉग इन करें: के बराबर-l.
  • --noediting: जीएनयू का प्रयोग न करेंपढ़ने के लिए लाइन शेल इंटरैक्टिव होने पर कमांड लाइनों को पढ़ने के लिए लाइब्रेरी।
  • --noprofile: सिस्टमव्यापी स्टार्टअप फ़ाइल को न पढ़ें / Etc / प्रोफ़ाइल या व्यक्तिगत प्रारंभिक फ़ाइलों में से कोई भी ~ / .Bash_profile , ~ / .Bash_login , या ~ / .Profile । डिफ़ॉल्ट रूप से,दे घुमा के जब इन्हें लॉगिन शेल के रूप में बुलाया जाता है तो इन फ़ाइलों को पढ़ता है।
  • --norc: व्यक्तिगत प्रारंभिक फ़ाइल को पढ़ और निष्पादित न करें ~ / .Bashrc अगर खोल इंटरैक्टिव है। यदि शेल को बुलाया जाता है तो यह विकल्प डिफ़ॉल्ट रूप से चालू होता है.
  • --posix: का व्यवहार बदलेंदे घुमा के जहां मानक से मिलान करने के लिए डिफ़ॉल्ट ऑपरेशन POSIX मानक से भिन्न होता है ( पॉज़िक्स मोड ).
  • --वर्जित: खोल प्रतिबंधित हो जाता है।
  • --rpm-की आवश्यकता है: खोल स्क्रिप्ट चलाने के लिए आवश्यक फ़ाइलों की सूची तैयार करें। यह '-n' का तात्पर्य है और संकलन समय त्रुटि जांच जांच के समान सीमाओं के अधीन है; बैकटीक्स, परीक्षण, और evals को पार्स नहीं किया गया है, इसलिए कुछ निर्भरताओं को याद किया जा सकता है।
  • --verbose: के बराबर-v.
  • --version: इस उदाहरण के लिए संस्करण जानकारी दिखाएंदे घुमा के मानक आउटपुट पर और सफलतापूर्वक बाहर निकलें।

तर्क

यदि विकल्प प्रसंस्करण के बाद तर्क और न तो-सी न ही-s विकल्प प्रदान किया गया है, पहला तर्क शेल कमांड वाली फ़ाइल का नाम माना जाता है। अगर दे घुमा के इस फैशन में आह्वान किया जाता है,$0 फ़ाइल के नाम पर सेट है, और स्थितित्मक पैरामीटर शेष तर्कों पर सेट हैं।दे घुमा के इस फ़ाइल से कमांड को पढ़ता है और निष्पादित करता है; तो बाहर निकलता है।दे घुमा केस्क्रिप्ट में निष्पादित अंतिम आदेश की निकास स्थिति बाहर निकलने की स्थिति है। यदि कोई आदेश निष्पादित नहीं किया जाता है, तो बाहर निकलने की स्थिति 0 है। वर्तमान निर्देशिका में फ़ाइल को खोलने के लिए पहले प्रयास किया जाता है, और यदि कोई फ़ाइल नहीं मिलती है, तो खोल निर्देशिकाओं को खोजता हैपथ लिपि के लिए।

मंगलाचरण

ए लॉगिन खोल वह है जिसका तर्क शून्य का पहला अक्षर है-, या एक के साथ शुरू किया--लॉग इन करें विकल्प।

एक इंटरैक्टिव खोल एक गैर विकल्प तर्क के बिना और बिना के शुरू किया गया है-सी विकल्प जिसका मानक इनपुट और आउटपुट दोनों टर्मिनल से निर्धारित होते हैं isatty (3), या एक के साथ शुरू किया-मैं विकल्प।PS1 सेट है और $- इसमें शामिल है कि बैश इंटरैक्टिव है, जिससे इस स्थिति का परीक्षण करने के लिए शेल स्क्रिप्ट या स्टार्टअप फ़ाइल की अनुमति मिलती है।

निम्नलिखित पैराग्राफ वर्णन करते हैं कि कैसेदे घुमा के इसकी स्टार्टअप फाइल निष्पादित करता है। अगर कोई भी फाइल मौजूद है लेकिन पढ़ा नहीं जा सकता है,दे घुमा के एक त्रुटि रिपोर्ट करता है। Tildes विस्तार में वर्णित फ़ाइल नामों में टिल्ड का विस्तार किया जाता है।

कबदे घुमा के एक इंटरैक्टिव लॉगिन खोल के रूप में या एक गैर-इंटरैक्टिव खोल के रूप में आह्वान किया जाता है--लॉग इन करें विकल्प, यह फ़ाइल से कमांड को पहले पढ़ता है और निष्पादित करता है / Etc / प्रोफ़ाइल , अगर वह फ़ाइल मौजूद है। उस फ़ाइल को पढ़ने के बाद, यह देखता है ~ / .Bash_profile , ~ / .Bash_login , तथा ~ / .Profile , उस क्रम में, और मौजूद पहले से कमांड को पढ़ता है और निष्पादित करता है और पठनीय है।--noprofile इस व्यवहार को बाधित करने के लिए खोल शुरू होने पर विकल्प का उपयोग किया जा सकता है।

जब एक लॉगिन खोल निकलता है,दे घुमा के फाइल से कमांड पढ़ता है और निष्पादित करता है ~ / .Bash_logout , यदि यह मौजूद है।

जब एक इंटरैक्टिव खोल जो लॉगिन शेल नहीं है,दे घुमा के आदेशों को पढ़ता है और निष्पादित करता है ~ / .Bashrc , अगर वह फ़ाइल मौजूद है। इसका उपयोग करके अवरुद्ध किया जा सकता है--norc विकल्प।--rcfile फ़ाइल विकल्प मजबूर होगादे घुमा के आदेशों को पढ़ने और निष्पादित करने के लिए फ़ाइल के बजाय ~ / .Bashrc .

कबदे घुमा के गैर-इंटरैक्टिव रूप से शुरू किया गया है - एक शेल स्क्रिप्ट चलाने के लिए, उदाहरण के लिए - यह चर के लिए दिखता हैBASH_ENV पर्यावरण में, यदि यह वहां दिखाई देता है तो इसका मूल्य बढ़ाता है, और विस्तारित मान को फ़ाइल के नाम के रूप में पढ़ने और निष्पादित करने के लिए उपयोग करता है।दे घुमा के व्यवहार करता है जैसे निम्न आदेश निष्पादित किए गए थे:

अगर -एन "$ BASH_ENV"; फिर । "$ BASH_ENV"; फाई

लेकिन का मूल्यपथ परिवर्तनीय का उपयोग फ़ाइल नाम की खोज के लिए नहीं किया जाता है।

अगरदे घुमा के नाम के साथ बुलाया जाता है, यह ऐतिहासिक संस्करणों के स्टार्टअप व्यवहार की नकल करने की कोशिश करता है जितना संभव हो सके, POSIX मानक के अनुरूप होने पर भी। जब एक इंटरैक्टिव लॉगिन खोल या एक गैर-इंटरैक्टिव खोल के रूप में बुलाया जाता है--लॉग इन करें विकल्प, यह पहले से कमांड को पढ़ने और निष्पादित करने का प्रयास करता है / Etc / प्रोफ़ाइल तथा ~ / .Profile , उस क्रम में।--noprofile इस व्यवहार को रोकने के लिए विकल्प का उपयोग किया जा सकता है। जब नाम के साथ एक इंटरैक्टिव खोल के रूप में बुलाया , दे घुमा के चर के लिए दिखता हैENV, यदि इसे परिभाषित किया गया है तो इसका मूल्य बढ़ाता है, और विस्तारित मान को फ़ाइल के नाम के रूप में पढ़ने और निष्पादित करने के लिए उपयोग करता है। चूंकि एक खोल के रूप में बुलाया गया है किसी अन्य स्टार्टअप फ़ाइलों से आदेशों को पढ़ने और निष्पादित करने का प्रयास नहीं करता है--rcfile विकल्प का कोई प्रभाव नहीं है। नाम के साथ एक गैर-इंटरैक्टिव खोल लगाया गया किसी अन्य स्टार्टअप फ़ाइलों को पढ़ने का प्रयास नहीं करता है। जब के रूप में बुलाया गया, दे घुमा के में प्रवेश करती है POSIX स्टार्टअप फ़ाइलों को पढ़ने के बाद मोड पढ़ा जाता है।

कबदे घुमा के में शुरू किया गया है POSIX मोड के साथ, के रूप में--posix कमांड लाइन विकल्प, यह स्टार्टअप फ़ाइलों के लिए POSIX मानक का पालन करता है। इस मोड में, इंटरैक्टिव गोले का विस्तार होता हैENV चर और आदेश फ़ाइल से पढ़ और निष्पादित किए जाते हैं जिसका नाम विस्तारित मान है। कोई अन्य स्टार्टअप फाइलें पढ़ी नहीं जाती हैं।

दे घुमा के यह निर्धारित करने का प्रयास करता है कि इसे रिमोट शैल डिमन द्वारा आमतौर पर कब चलाया जा रहा है rshd । अगर दे घुमा के यह निर्धारित करता है कि इसे चलाया जा रहा है rshd , यह आदेशों को पढ़ता है और निष्पादित करता है ~ / .Bashrc , अगर वह फ़ाइल मौजूद है और पठनीय है। अगर ऐसा किया जाता है तो यह ऐसा नहीं करेगा--norc इस व्यवहार को रोकने के लिए विकल्प का उपयोग किया जा सकता है, और--rcfile विकल्प को किसी अन्य फ़ाइल को पढ़ने के लिए मजबूर करने के लिए उपयोग किया जा सकता है, लेकिन rshd आमतौर पर उन विकल्पों के साथ खोल का आह्वान नहीं करता है या उन्हें निर्दिष्ट करने की अनुमति नहीं देता है।

यदि शेल प्रभावी उपयोगकर्ता (समूह) आईडी के साथ वास्तविक उपयोगकर्ता (समूह) आईडी के बराबर नहीं है, और-p विकल्प प्रदान नहीं किया जाता है, कोई स्टार्टअप फ़ाइलें नहीं पढ़ी जाती हैं, शैल फ़ंक्शन पर्यावरण से विरासत में नहीं मिलते हैं,SHELLOPTS परिवर्तनीय, यदि यह पर्यावरण में प्रकट होता है, तो इसे अनदेखा किया जाता है, और प्रभावी उपयोगकर्ता आईडी वास्तविक उपयोगकर्ता आईडी पर सेट होती है। अगर-p विकल्प को आमंत्रण पर आपूर्ति की जाती है, स्टार्टअप व्यवहार समान होता है, लेकिन प्रभावी उपयोगकर्ता आईडी रीसेट नहीं होता है।

परिभाषाएं

निम्नलिखित परिभाषाओं का उपयोग इस दस्तावेज़ के बाकी हिस्सों में किया जाता है:

  • रिक्त: एक स्थान या टैब।
  • शब्द: शैल द्वारा एक इकाई के रूप में माना जाने वाले पात्रों का एक अनुक्रम। एक के रूप में भी जाना जाता है टोकन.
  • नाम: ए शब्द केवल अल्फान्यूमेरिक वर्णों और अंडरस्कोर से युक्त, और वर्णमाला वर्ण या अंडरस्कोर से शुरू होता है। इसे एक के रूप में भी जाना जाता हैपहचानकर्ता.
  • Metacharacter: एक चरित्र जो, जब unquoted, शब्दों को अलग करता है। निम्न में से एक:| &; () <> स्पेस टैब
  • नियंत्रण ऑपरेटर: ए टोकन जो एक नियंत्रण समारोह करता है। यह निम्नलिखित प्रतीकों में से एक है: || & && ; ;; ( ) |

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

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

! यदि कार्य में {} समय तब तक चयन में अगर कार्य के लिए esac fi esf fi किया जाता है

शैल व्याकरण: सरल आदेश

ए सरल आदेश वैकल्पिक परिवर्तनीय असाइनमेंट का अनुक्रम है जिसके बादरिक्त- अलग शब्द और पुनर्निर्देशन और एक द्वारा समाप्त नियंत्रण ऑपरेटर । पहला शब्द निष्पादित करने के लिए कमांड निर्दिष्ट करता है, और तर्क शून्य के रूप में पारित किया जाता है। शेष शब्द आवेदक आदेश के लिए तर्क के रूप में पारित किए जाते हैं।

ए के वापसी मूल्य सरल आदेश इसकी निकास स्थिति है, या 128+ n अगर आदेश सिग्नल द्वारा समाप्त कर दिया गया है n .

पाइपलाइन

ए पाइपलाइन चरित्र द्वारा अलग एक या अधिक आदेशों का एक अनुक्रम है|। एक पाइपलाइन के लिए प्रारूप है पहर -p ! आदेश | command2 … .

का मानक आउटपुट आदेश एक पाइप के माध्यम से मानक इनपुट में जुड़ा हुआ है command2 । यह कनेक्शन आदेश द्वारा निर्दिष्ट किसी भी पुनर्निर्देशन से पहले किया जाता है।

यदि आरक्षित शब्द है! एक पाइपलाइन से पहले, उस पाइपलाइन की निकास स्थिति अंतिम कमांड की निकास स्थिति का तार्किक नहीं है। अन्यथा, पाइपलाइन की स्थिति अंतिम कमांड की निकास स्थिति है। एक मूल्य वापस करने से पहले खोलने के लिए पाइपलाइन में सभी आदेशों के लिए खोल प्रतीक्षा करता है।

अगरपहर आरक्षित शब्द एक पाइपलाइन से पहले, पाइपलाइन समाप्त होने पर समाप्त होने के साथ-साथ उपयोगकर्ता और सिस्टम निष्पादन द्वारा खपत सिस्टम समय की सूचना दी जाती है।-p विकल्प POSIX द्वारा निर्दिष्ट आउटपुट प्रारूप को बदलता है।समय प्रारूप वैरिएबल को एक प्रारूप स्ट्रिंग पर सेट किया जा सकता है जो निर्दिष्ट करता है कि समय की जानकारी कैसे प्रदर्शित की जानी चाहिए।

पाइपलाइन में प्रत्येक कमांड को एक अलग प्रक्रिया के रूप में निष्पादित किया जाता है (उदाहरण के लिए, सबशेल में)।

सूचियाँ

ए सूची ऑपरेटरों में से एक द्वारा अलग एक या अधिक पाइपलाइनों का एक अनुक्रम है;, &, &&, या||, और वैकल्पिक रूप से एक में समाप्त कर दिया;, &, या.

इन सूची ऑपरेटरों में से,&& तथा|| इसके बाद बराबर प्राथमिकता है; तथा&, जो बराबर प्राथमिकता है।

एक या अधिक न्यूलाइन का अनुक्रम एक में दिखाई दे सकता है सूची आदेशों को सीमित करने के लिए अर्धविराम की बजाय।

यदि नियंत्रण ऑपरेटर द्वारा एक आदेश समाप्त कर दिया जाता है&, खोल में कमांड निष्पादित करता है पृष्ठभूमि एक सबहेल में। खोल कमांड को समाप्त करने की प्रतीक्षा नहीं करता है, और वापसी की स्थिति 0 है। द्वारा अलग किए गए कमांड; अनुक्रमिक रूप से निष्पादित कर रहे हैं; खोल प्रत्येक आदेश के बदले में समाप्त होने की प्रतीक्षा करता है। वापसी की स्थिति निष्पादित अंतिम आदेश की निकास स्थिति है।

नियंत्रण ऑपरेटर&& तथा|| क्रमशः इंगित करें और सूचियां और सूचियां। एक और सूची में फॉर्म है

command1 && command2

command2 अगर निष्पादित किया जाता है, और केवल अगर, command1 शून्य की निकास स्थिति देता है।

एक या सूची में फॉर्म है

command1 || command2

command2 अगर और केवल अगर निष्पादित किया जाता है command1 एक गैर-शून्य निकास स्थिति देता है। AND और OR सूचियों की वापसी स्थिति सूची में निष्पादित अंतिम आदेश की निकास स्थिति है।

कंपाउंड कमांड

ए यौगिक कमांड निम्नलिखित में से एक है:

(सूची) : सूची एक सबहेल में निष्पादित किया जाता है। परिवर्तनीय असाइनमेंट और अंतर्निहित कमांड जो शेल के पर्यावरण को प्रभावित करते हैं, कमांड पूर्ण होने के बाद प्रभावी नहीं होते हैं। वापसी की स्थिति बाहर निकलने की स्थिति है सूची .

{ सूची; } : सूची वर्तमान खोल पर्यावरण में बस निष्पादित किया जाता है। सूची एक न्यूलाइन या अर्धविराम से समाप्त किया जाना चाहिए। इसे ए के रूप में जाना जाता है समूह कमांड । वापसी की स्थिति बाहर निकलने की स्थिति है सूची । ध्यान दें कि मेटाएक्टएक्टर्स के विपरीत( तथा), { तथा} कर रहे हैं सुरक्षित शब्द और ऐसा होना चाहिए जहां एक आरक्षित शब्द को पहचानने की अनुमति है। चूंकि वे एक शब्द तोड़ने का कारण नहीं बनाते हैं, इसलिए उन्हें अलग किया जाना चाहिए सूची सफेद जगह से।

((अभिव्यक्ति)) : द अभिव्यक्ति नीचे वर्णित नियमों के अनुसार मूल्यांकन किया जाता है अंकगणितीय मूल्यांकन। यदि अभिव्यक्ति का मान गैर-शून्य है, तो वापसी की स्थिति 0 है; अन्यथा वापसी की स्थिति 1 है। यह बिल्कुल बराबर हैचलो ' अभिव्यक्ति '.

अभिव्यक्ति : सशर्त अभिव्यक्ति के मूल्यांकन के आधार पर 0 या 1 की स्थिति लौटाएं अभिव्यक्ति । अभिव्यक्तियां नीचे वर्णित प्राइमरी से बनी हैं सशर्त अभिव्यक्तियां शब्द विभाजन और पथनाम विस्तार के बीच के शब्दों पर प्रदर्शन नहीं किया जाता है तथा; tilde विस्तार, पैरामीटर और परिवर्तनीय विस्तार, अंकगणितीय विस्तार, कमांड प्रतिस्थापन, प्रक्रिया प्रतिस्थापन, और उद्धरण हटाने का प्रदर्शन किया जाता है।

जब== तथा!= ऑपरेटरों का उपयोग किया जाता है, ऑपरेटर के दाईं ओर की स्ट्रिंग को पैटर्न के रूप में माना जाता है और नीचे वर्णित नियमों के अनुसार मेल खाता हैपैटर्न मिलान। स्ट्रिंग मान 0 है यदि स्ट्रिंग क्रमशः पैटर्न से मेल खाता है या मेल नहीं खाता है, और 1 अन्यथा। पैटर्न के किसी भी भाग को स्ट्रिंग के रूप में मिलान करने के लिए मजबूर करने के लिए उद्धृत किया जा सकता है।

अभिव्यक्तियों को निम्नलिखित ऑपरेटरों का उपयोग करके जोड़ा जा सकता है, जो प्राथमिकता के घटते क्रम में सूचीबद्ध हैं:

  • (अभिव्यक्ति): का मूल्य देता है अभिव्यक्ति । इसका उपयोग ऑपरेटरों की सामान्य प्राथमिकता को ओवरराइड करने के लिए किया जा सकता है।
  • ! expressio n: सच है अगर अभिव्यक्ति गलत है।
  • expression1 && expression2 : दोनों अगर सही है expression1 तथा expression2 सच हैं।
  • expression1 || expression2 : अगर सही है तो expression1 या expression2 सच हैं।

&& तथा|| ऑपरेटर मूल्यांकन नहीं करते हैं expression2 अगर का मूल्य expression1 पूरी सशर्त अभिव्यक्ति के वापसी मूल्य को निर्धारित करने के लिए पर्याप्त है।

  • के लिये नाम में शब्द ; करना सूची ; किया हुआ: निम्नलिखित शब्दों की सूचीमें वस्तुओं की एक सूची उत्पन्न, विस्तारित किया गया है। चर नाम बदले में इस सूची के प्रत्येक तत्व पर सेट है, और सूची हर बार निष्पादित किया जाता है। अगरमें शब्द छोड़ा गया है,के लिये आदेश निष्पादित करता है सूची एक बार सेट किए गए प्रत्येक स्थितित्मक पैरामीटर के लिए। वापसी की स्थिति अंतिम आदेश की निकास स्थिति है जो निष्पादित होती है। यदि निम्नलिखित वस्तुओं का विस्तारमें परिणाम एक खाली सूची में, कोई आदेश निष्पादित नहीं किया जाता है, और वापसी की स्थिति 0 है।
  • के लिये (( expr1 ; expr2 ; expr3 )) ; करना सूची ; किया हुआ: सबसे पहले, अंकगणितीय अभिव्यक्ति expr1 नीचे वर्णित नियमों के अनुसार मूल्यांकन किया जाता हैअंकगणितीय मूल्यांकन। अंकगणितीय अभिव्यक्ति expr2 उसके बाद बार-बार मूल्यांकन किया जाता है जब तक कि यह शून्य का मूल्यांकन न हो जाए। हर बार expr2 गैर-शून्य मान का मूल्यांकन करता है, सूची निष्पादित और अंकगणितीय अभिव्यक्ति है expr3 मूल्यांकन किया जाता है। यदि कोई अभिव्यक्ति छोड़ी जाती है, तो यह व्यवहार करती है जैसे कि यह 1 का मूल्यांकन करती है। वापसी मूल्य अंतिम आदेश की निकास स्थिति है सूची निष्पादित किया गया है, या गलत है अगर कोई अभिव्यक्ति अमान्य है।
  • चुनते हैं नाम में शब्द ; करना सूची ; किया हुआ: निम्नलिखित शब्दों की सूचीमें वस्तुओं की एक सूची उत्पन्न, विस्तारित किया गया है। विस्तारित शब्दों का सेट मानक त्रुटि पर मुद्रित होता है, प्रत्येक एक संख्या से पहले। अगरमें शब्द छोड़ा गया है, स्थितित्मक पैरामीटर मुद्रित हैं। PS3 तत्काल तब प्रदर्शित किया जाता है और मानक इनपुट से एक पंक्ति पढ़ी जाती है। यदि रेखा में प्रदर्शित शब्दों में से किसी एक के बराबर संख्या होती है, तो इसका मान नाम उस शब्द पर सेट है। यदि रेखा खाली है, तो शब्द और प्रॉम्प्ट फिर से प्रदर्शित होते हैं। यदि ईओएफ पढ़ा जाता है, तो आदेश पूरा हो जाता है। कोई अन्य मूल्य पढ़ने का कारण बनता है नाम शून्य करने के लिए सेट करने के लिए। लाइन पढ़ने को चर में सहेजा जाता हैजवाब दे दो। सूची प्रत्येक चयन के बाद निष्पादित किया जाता हैटूटना आदेश निष्पादित किया गया है। बाहर निकलने की स्थितिचुनते हैं निष्पादित अंतिम आदेश की निकास स्थिति है सूची , या शून्य अगर कोई आदेश निष्पादित नहीं किया गया था।
  • मामला शब्द में ( पैटर्न | पैटर्न : एमामला कमांड पहले फैलता है शब्द , और प्रत्येक के खिलाफ मैच करने की कोशिश करता है पैटर्न बदले में, पथनाम विस्तार के लिए समान मिलान नियमों का उपयोग करना। जब एक मैच मिलता है, संबंधित सूची निष्पादित किया जाता है। पहले मैच के बाद, बाद के मैचों का प्रयास नहीं किया जाता है। यदि कोई पैटर्न मेल नहीं खाता है तो निकास स्थिति शून्य है। अन्यथा, यह निष्पादित अंतिम आदेश की निकास स्थिति है सूची .
  • अगर सूची ; फिर सूची; तथा elif सूची ; फिर सूची ; … अन्य सूची ; फाई: अगर सूची निष्पादित किया जाता है। यदि इसकी निकास स्थिति शून्य है, तोफिर सूची निष्पादित किया जाता है। अन्यथा, प्रत्येक elif सूची बदले में निष्पादित किया जाता है, और यदि इसकी निकास स्थिति शून्य है, तो संबंधितफिर सूची निष्पादित किया गया है और आदेश पूरा हो गया है। अन्यथाअन्य सूची यदि मौजूद है, तो निष्पादित किया जाता है। बाहर निकलने की स्थिति निष्पादित अंतिम आदेश की निकास स्थिति है, या शून्य अगर कोई शर्त सही साबित नहीं होती है।
  • जबकि सूची ; करना सूची ; किया हुआ तथा जब तक सूची ; करना सूची ; किया हुआ: दजबकि आदेश लगातार निष्पादित करता हैकरना सूची जब तक अंतिम आदेश में सूची शून्य की निकास स्थिति देता है।जब तक आदेश के समान हैजबकि आदेश, सिवाय इसके कि परीक्षण को अस्वीकार कर दिया गया है;करना सूची अंतिम आदेश के रूप में लंबे समय तक निष्पादित किया जाता है सूची एक गैर-शून्य निकास स्थिति देता है। बाहर निकलने की स्थितिजबकि तथाजब तक आदेश अंतिम की निकास स्थिति हैकरना सूची कमांड निष्पादित, या शून्य अगर कोई भी निष्पादित नहीं किया गया था।
  • समारोह नाम () { सूची ; }: यह नामित एक समारोह को परिभाषित करता है नाम । तन समारोह का है सूची {और} के बीच आदेशों का। यह सूची कभी भी निष्पादित की जाती है नाम एक साधारण कमांड के नाम के रूप में निर्दिष्ट है। किसी फ़ंक्शन की निकास स्थिति शरीर में निष्पादित अंतिम आदेश की निकास स्थिति है।

टिप्पणियाँ

एक गैर-इंटरैक्टिव खोल या एक इंटरैक्टिव खोल में जिसमें interactive_comments विकल्पshopt बिल्टिन सक्षम है, एक शब्द से शुरू होता है# उस शब्द और उस शेष रेखा के सभी शेष वर्णों को अनदेखा करने का कारण बनता है। बिना एक इंटरैक्टिव खोलinteractive_comments विकल्प सक्षम टिप्पणियों की अनुमति नहीं देता है। interactive_comments इंटरैक्टिव शैल में डिफ़ॉल्ट रूप से विकल्प चालू है।

का हवाला देते हुए

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

हर एक अक्षरों से परे नीचे सूचीबद्धपरिभाषाएं खोल के लिए विशेष अर्थ है और यदि इसे स्वयं का प्रतिनिधित्व करना है तो उसे उद्धृत किया जाना चाहिए।

जब कमांड इतिहास विस्तार सुविधाओं का उपयोग किया जा रहा है, तो इतिहास विस्तार चरित्र, आमतौर पर!, इतिहास विस्तार को रोकने के लिए उद्धृत किया जाना चाहिए।

तीन उद्धरण तंत्र हैं: द पलायनवादी चरित्र , एकल उद्धरण, और डबल उद्धरण।

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

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

डबल कोट्स में वर्णों को बंद करने के अपवाद के साथ उद्धरणों के भीतर सभी वर्णों के शाब्दिक मूल्य को संरक्षित करता है$, ', तथा। किरदार$ तथा' डबल कोट्स के भीतर अपना विशेष अर्थ बनाए रखें। बैकस्लैश केवल इसके विशेष अर्थ को तब तक बरकरार रखता है जब निम्न वर्णों में से एक के बाद:$, ', ', , या। एक डबल कोट को बैकस्लैश से पहले डबल कोट्स के भीतर उद्धृत किया जा सकता है।

विशेष पैरामीटर* तथा@ डबल कोट्स में जब विशेष अर्थ है।

फॉर्म के शब्द$' तार 'विशेष रूप से इलाज किया जाता है। शब्द फैलता है तार , बैकस्लैश से बचने वाले वर्णों को एएनएसआई सी मानक द्वारा निर्दिष्ट के रूप में प्रतिस्थापित किया गया है। बैकस्लैश एस्केप अनुक्रम, यदि मौजूद हैं, तो निम्नानुसार डीकोड किए गए हैं:

  • चेतावनी (घंटी)
  • bबैकस्पेस
  • : एक बचने का चरित्र
  • : फ़ीड बनाएं
  • n: नई पंक्ति
  • r: कैरिज रिटर्न
  • tक्षैतिज टैब
  • vलंबवत टैब
  • \बैकस्लैश
  • ': एकल बोली
  • NNN : आठ-बिट चरित्र जिसका मूल्य ऑक्टल मान है NNN (एक से तीन अंक)
  • एक्स एचएच : आठ-बिट चरित्र जिसका मूल्य हेक्साडेसिमल मान है एचएच (एक या दो हेक्स अंक)
  • सी एक्स : एक नियंत्रण- एक्स चरित्र

विस्तारित परिणाम एकल उद्धृत है, जैसे कि डॉलर का संकेत मौजूद नहीं था।

एक डॉलर के संकेत से पहले एक डबल उद्धृत स्ट्रिंग ($) वर्तमान लोकेल के अनुसार स्ट्रिंग का अनुवाद करने का कारण बन जाएगा। यदि वर्तमान लोकेल हैसी याPOSIX, डॉलर के संकेत को नजरअंदाज कर दिया जाता है। यदि स्ट्रिंग का अनुवाद और प्रतिस्थापित किया गया है, तो प्रतिस्थापन डबल-उद्धृत है।

पैरामीटर

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

एक पैरामीटर सेट किया गया है यदि इसे एक मान असाइन किया गया है। शून्य स्ट्रिंग एक मान्य मान है। एक बार एक चर सेट हो जाने पर, यह केवल उपयोग करके अनसेट हो सकता हैसेट नहीं बिल्टिन कमांड

ए परिवर्तनशील फॉर्म के एक बयान द्वारा असाइन किया जा सकता है: नाम = मूल्य

अगर मूल्य दिया नहीं गया है, चर को शून्य स्ट्रिंग असाइन किया गया है। सब मान tilde विस्तार, पैरामीटर और चर विस्तार, कमांड प्रतिस्थापन, अंकगणितीय विस्तार, और उद्धरण हटाने से गुजरना। यदि परिवर्तनीय हैपूर्णांक विशेषता सेट, फिर मूल्य $ ((…)) विस्तार का उपयोग नहीं किया जाता है भले ही अंकगणितीय विस्तार के अधीन है। अपवाद के साथ वर्ड स्प्लिटिंग नहीं किया जाता है'$@' जैसा कि समझाया गया हैविशेष पैरामीटर्स। पथनाम विस्तार नहीं किया जाता है। असाइनमेंट कथन भी तर्क के रूप में प्रकट हो सकता हैघोषित, टाईपसेट, निर्यात, सिफ़ पढ़िये, तथा स्थानीय बिल्टिन कमांड

स्थितित्मक पैरामीटर्स

ए स्थितित्मक पैरामीटर एक अंक अधिक अंक के अलावा एक या अधिक अंकों द्वारा दर्शाया गया पैरामीटर है। स्थितित्मक मानकों को खोलने पर खोल के तर्कों से असाइन किया जाता है, और इसे फिर से सौंप दिया जा सकता हैसेट बिल्टिन कमांड पोजिशनल पैरामीटर असाइनमेंट कथन के साथ असाइन नहीं किया जा सकता है। शेल फ़ंक्शन निष्पादित होने पर स्थितित्मक पैरामीटर अस्थायी रूप से प्रतिस्थापित होते हैं।

जब एक अंक से अधिक अंक वाले एक स्थितित्मक पैरामीटर का विस्तार किया जाता है, तो इसे ब्रेसिज़ में संलग्न किया जाना चाहिए।

विशेष पैरामीटर्स

खोल विशेष रूप से कई मानकों का इलाज करता है। इन पैरामीटर का संदर्भ केवल तभी किया जा सकता है; उन्हें असाइनमेंट की अनुमति