जब कि एक निष्पक्ष प्रथम सन्निकटन होता है, जब कोई "यहां एक प्रोग्राम कैसे चलता है" और "यहां एक लाइन पर एक के बाद एक कई प्रोग्राम चलाए जाते हैं" के स्तर पर गोले का उपयोग करने की बहुत मूल बातें सीखना शुरू कर रहा है। , यह वास्तव में सच नहीं है।
एक शुरुआती लेकिन अधिक सही व्याख्या के लिए समझाना कठिन है कि शेल भाषा एक कंप्यूटर भाषा है । इसका एक सिंटेक्स है । उस वाक्यविन्यास में विभिन्न लेक्सिकल तत्व शामिल हैं, जिनमें (अन्य बातों के अलावा) नईलाइन, ऑपरेटर, शब्द और आरक्षित शब्द शामिल हैं।
if
, then
, else
, और fi
सब कर रहे हैं आरक्षित शब्द । इसके व्याकरण के अनुसार किसी शेल को देने वाले इनपुट को पार्स करते समय उनके विशेष अर्थ होते हैं । इसी तरह, एक विभाजक ऑपरेटर है ।;
शेल भाषा में इनपुट इस प्रकार, एक पूरे के रूप में लिया जाता है, एक कंप्यूटर प्रोग्राम जिसे दूसरे प्रोग्राम द्वारा व्याख्या किया जाता है, एक इंटरप्रेटर , शेल। इसके व्यक्तिगत व्याकरणिक भाग कार्यक्रम नहीं हैं। शैल भाषा शेल को चलाने के लिए (अन्य) कार्यक्रमों को निर्दिष्ट करने का एक तरीका है।
[
शेल व्याकरण में एक विशेष लेक्सिकल तत्व नहीं है जैसे कि एक ऑपरेटर। यह एक साधारण शब्द है , जो एक ऐसे कार्यक्रम का नाम रखता है [
। कई गोले एक है में निर्मित इस कार्यक्रम, खोल कार्यक्रम में ही की कोड में संयुक्त का संस्करण है, लेकिन आप भी एक पा सकते हैं बाहरी कहीं जैसे इस नाम से कार्यक्रम /bin/[
या /usr/bin/[
है, जो कार्यक्रमों अन्य की तुलना में गोले आह्वान कर सकते हैं। समान रूप से, ]
एक विशेष शेल लेक्सिकल तत्व भी नहीं है। यह एक साधारण शब्द है, जो [
प्रोग्राम के लिए एक तर्क बन जाता है । [
कार्यक्रम की आवश्यकता है कि अपने अंतिम तर्क, जब यह मार डाला जाता है, हो सकता है ]
, जो यह तो अनदेखी करने के लिए आगे बढ़ते हैं।
इसी तरह का एक और कार्यक्रम आपके नाम का है echo
। फिर से, अधिकांश गोले में इस कार्यक्रम का एक अंतर्निहित संस्करण है। लेकिन फिर से कार्यक्रम का एक बाहरी संस्करण भी है, कहीं न कहीं, जैसे /bin/echo
या /usr/bin/echo
, शेल के अलावा अन्य कार्यक्रमों के लिए।
आपके प्रश्न में एक तीसरा कार्यक्रम है ls
। गोले आम तौर पर गए हैं में निर्मित नहीं इस कार्यक्रम के संस्करणों, और यह एक बाहरी कार्यक्रम है, इस तरह के रूप कहीं पाया जा सकता है /bin/ls
या /usr/bin/ls
।
बॉर्न अगेन शेल के लिए, आप GNU बॉर्न अगेन शेल इंफो डॉक्यूमेंटेशन के बेसिक शेल फीचर्स में इसके बारे में अधिक पढ़ सकते हैं । अन्य गोले में स्वाभाविक रूप से अलग-अलग व्याकरण होते हैं। एकल यूनिक्स विशिष्टता एक वाक्य रचना है कि सभी POSIX-conformant गोले (उनके POSIX-conformant मोड में) का पालन करने वाले हैं वर्णन करता है।
आगे की पढाई
- " शैल व्याकरण "। शेल कमांड लैंग्वेज । बेस स्पेसिफिकेशन्स इशू 7. ओपन ग्रुप। IEEE 1003.1-2008। आईएसबीएन 1937218812।
test
। उपयोगिताएँ । बेस स्पेसिफिकेशन्स इशू 7. ओपन ग्रुप। IEEE 1003.1-2008। आईएसबीएन 1937218812।
- " शैल व्याकरण "। जेड शैल मैनुअल । संस्करण 5.3.1। 2017।