अल्मक्विस्ट शेल: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 16: Line 16:
| website                =  
| website                =  
}}
}}
अल्मक्विस्ट शेल (जिसे ए शेल, ash और sh के रूप में भी जाना जाता है) सरल [[यूनिक्स खोल| यूनिक्स शेल]] है जिसे मूल रूप से 1980 के अंत में [[केनेथ अल्मक्विस्ट]] द्वारा लिखा गया था। प्रारंभ में [[बॉर्न शेल]] की प्रणाली V.4 संस्करण के क्लोन ने 1990 के दशक के प्रारंभ में प्रचलित यूनिक्स के [[बर्कले सॉफ्टवेयर वितरण| बीएसडी]] संस्करणों में मूल बॉर्न शेल को परिवर्तित कर दिया।
अल्मक्विस्ट शेल (जिसे ए शेल, ash और sh के रूप में भी जाना जाता है) सरल [[यूनिक्स खोल| यूनिक्स शेल]] है जिसे मूल रूप से 1980 के अंत में [[केनेथ अल्मक्विस्ट]] द्वारा लिखा गया था। प्रारंभ में [[बॉर्न शेल]] की प्रणाली V.4 संस्करण के क्लोन ने 1990 के दशक के प्रारंभ में प्रस्तावित यूनिक्स के [[बर्कले सॉफ्टवेयर वितरण| बीएसडी]] संस्करणों में मूल बॉर्न शेल को परिवर्तित कर दिया।
== इतिहास ==
== इतिहास ==
ash को सर्वप्रथम {{mono|[[comp.* hierarchy|comp]].sources.unix}} [[यूज़नेट]] समाचार समूह में पोस्टिंग के माध्यम से प्रचलित किया गया था, जिसे 30 मई 1989 को [[अमीर नमक|रिच साल्ज़]] द्वारा अनुमोदित और संचालित किया गया था। इसे प्रणाली V शेल के पुनर्कार्यान्वयन के रूप में वर्णित किया गया था जिसमें उस शेल की अधिकांश विशेषताएं और कुछ परिवर्धन सम्मिलित हैं।<ref>{{Cite web| title=v19i001: A reimplementation of the System V shell, Part01/08 | url=https://groups.google.com/d/topic/comp.sources.unix/A6cnyKX-Gq4/discussion | date=May 30, 1989 | editor=Rich Salz | editor-link=Rich Salz | author=Almquist, Kenneth | publisher=[[Usenet]] newsgroup, comp.sources.unix}}</ref>
ash को सर्वप्रथम {{mono|[[comp.* hierarchy|comp]].sources.unix}} [[यूज़नेट]] समाचार समूह में पोस्टिंग के माध्यम से प्रचलित किया गया था, जिसे 30 मई 1989 को [[अमीर नमक|रिच साल्ज़]] द्वारा अनुमोदित और संचालित किया गया था। इसे प्रणाली V शेल के पुनर्कार्यान्वयन के रूप में वर्णित किया गया था जिसमें उस शेल की अधिकांश विशेषताएं और कुछ परिवर्धन सम्मिलित हैं।<ref>{{Cite web| title=v19i001: A reimplementation of the System V shell, Part01/08 | url=https://groups.google.com/d/topic/comp.sources.unix/A6cnyKX-Gq4/discussion | date=May 30, 1989 | editor=Rich Salz | editor-link=Rich Salz | author=Almquist, Kenneth | publisher=[[Usenet]] newsgroup, comp.sources.unix}}</ref>
Line 52: Line 52:
| website                = {{URL|http://gondor.apana.org.au/~herbert/dash/}}
| website                = {{URL|http://gondor.apana.org.au/~herbert/dash/}}
}}
}}
1997 में हर्बर्ट जू ने <code>ash</code> को नेटबीएसडी से [[डेबियन]] [[लिनक्स वितरण|लिनक्स]] में पोर्ट किया था। सितंबर 2002 में, 0.4.1 रिलीज़ के साथ, इस पोर्ट का नाम परिवर्तित करके डैश (डेबियन अल्मक्विस्ट शेल) कर दिया गया था। जू की मुख्य प्राथमिकताएं पॉज़िक्स अनुरूपता और स्लिम कार्यान्वयन हैं।<ref name=vars/>
1997 में हर्बर्ट जू ने <code>ash</code> को नेटबीएसडी से [[डेबियन]] [[लिनक्स वितरण|लिनक्स]] में पोर्ट किया था। सितंबर 2002 में प्रस्तावित 0.4.1 के साथ इस पोर्ट का नाम परिवर्तित करके डैश (डेबियन अल्मक्विस्ट शेल) कर दिया गया था। जू की मुख्य प्राथमिकताएं पॉज़िक्स अनुरूपता और स्लिम कार्यान्वयन हैं।<ref name=vars/>


अपने पूर्ववर्ती की भाँति ही डैश [[अंतर्राष्ट्रीयकरण और स्थानीयकरण|अंतर्राष्ट्रीयकरण, स्थानीयकरण]] और [[चर-चौड़ाई एन्कोडिंग|मल्टी-बाइट कैरेक्टर एन्कोडिंग]] (दोनों पॉज़िक्स में आवश्यक) के लिए समर्थन क्रियान्वित नहीं करता है।{{Citation needed|date=March 2023}} लाइन संपादन और [[जीएनयू रीडलाइन]] पर आधारित इतिहास समर्थन वैकल्पिक ({{code|--with-libedit}}) है।  
अपने पूर्ववर्ती की भाँति ही डैश [[अंतर्राष्ट्रीयकरण और स्थानीयकरण|अंतर्राष्ट्रीयकरण, स्थानीयकरण]] और [[चर-चौड़ाई एन्कोडिंग|मल्टी-बाइट कैरेक्टर एन्कोडिंग]] (दोनों पॉज़िक्स में आवश्यक) के लिए समर्थन क्रियान्वित नहीं करता है।{{Citation needed|date=March 2023}} लाइन संपादन और [[जीएनयू रीडलाइन]] पर आधारित इतिहास समर्थन वैकल्पिक ({{code|--with-libedit}}) है।  


=== डेबियन और उबंटू === में गोद लेना
'''एडॉप्शन इन डेबियन एंड उबंटू'''
{{anchor|Slimness}}इसकी स्लिमनेस के कारण, [[उबंटू (ऑपरेटिंग सिस्टम)]] ने डैश को डिफ़ॉल्ट के रूप में अपनाने का फैसला किया <code>/bin/sh</code><ref name="Debian">{{cite web
 
{{anchor|Slimness}}इसकी स्लिमनेस के कारण, [[उबंटू (ऑपरेटिंग सिस्टम)]] ने 2006 में डैश को डिफ़ॉल्ट <code>/bin/sh</code><ref name="Debian">{{cite web
| url=https://wiki.debian.org/Shell
| url=https://wiki.debian.org/Shell
| title=Non-interactive Shell
| title=Non-interactive Shell
Line 67: Line 68:
| website=[[Ubuntu (operating system)|Ubuntu]] Wiki
| website=[[Ubuntu (operating system)|Ubuntu]] Wiki
| date=2017-12-16
| date=2017-12-16
| access-date=2020-02-29}}</ref> 2006 में। डैश का उपयोग करने का कारण तेज [[ खोल स्क्रिप्ट ]] निष्पादन है,<ref>{{cite book
| access-date=2020-02-29}}</ref> के रूप में स्वीकार करने का निश्चय किया।  डेबियन और उबंटू के पूर्व संस्करणों की तुलना में डैश का उपयोग करने का कारण, विशेष रूप से ऑपरेटिंग सिस्टम के स्टार्टअप के समय तीव्र [[ खोल स्क्रिप्ट | शेल स्क्रिप्ट]] निष्पादन है<ref>{{cite book
| author=Neal Krawetz
| author=Neal Krawetz
| title=Ubuntu: Powerful Hacks and Customizations
| title=Ubuntu: Powerful Hacks and Customizations
Line 74: Line 75:
| pages=178
| pages=178
| url=https://books.google.com/books?id=h_zclqESvu8C&pg=PT178
| url=https://books.google.com/books?id=h_zclqESvu8C&pg=PT178
| isbn=9781118080382}}</ref> विशेष रूप से ऑपरेटिंग सिस्टम के स्टार्टअप के दौरान, डेबियन और उबंटू के पिछले संस्करणों की तुलना में जो इस उद्देश्य के लिए बैश का उपयोग करते थे, हालांकि [[बैश (यूनिक्स शेल)]] अभी भी इंटरैक्टिव उपयोग के लिए डिफ़ॉल्ट लॉगिन शेल है।<ref>{{cite book
| isbn=9781118080382}}</ref> जो इस उद्देश्य के लिए बैश का उपयोग करते है, चूँकि [[बैश (यूनिक्स शेल)]] अभी भी इंटरैक्टिव उपयोग के लिए डिफ़ॉल्ट लॉगिन शेल है।<ref>{{cite book
| author1=Christopher Negus
| author1=Christopher Negus
| author2=Francois Caen
| author2=Francois Caen
Line 82: Line 83:
| url=https://books.google.com/books?id=L_IXUtw_w-AC&pg=PA49
| url=https://books.google.com/books?id=L_IXUtw_w-AC&pg=PA49
| pages=49
| pages=49
| isbn=9781118079140}}</ref> डैश डिफ़ॉल्ट बन गया <code>/bin/sh</code> उबंटू (ऑपरेटिंग सिस्टम) में अक्टूबर 2006 में 6.10 रिलीज़ के साथ शुरू हुआ।<ref name="Ubuntu"/>डैश ने बैश को बदल दिया और डिफ़ॉल्ट बन गया <code>/bin/sh</code> डेबियन 6 (स्क्वीज़) में।<ref name="Debian"/>
| isbn=9781118079140}}</ref> अक्टूबर 2006 में प्रस्तावित 6.10 के साथ उबंटू में डैश डिफ़ॉल्ट <code>/bin/sh</code> बन गया।<ref name="Ubuntu" /> डैश ने बैश को प्रतिस्थापित किया और डेबियन 6 (स्क्वीज़) में डिफ़ॉल्ट<code>/bin/sh</code> बन गया।<ref name="Debian" />


बदलाव का एक परिणाम यह है कि कई शेल स्क्रिप्ट को शेबंग (यूनिक्स) लाइन में ठीक से घोषित किए बिना [[जीएनयू बैश]]-विशिष्ट कार्यात्मकताओं (बैशिज़्म) का उपयोग करते हुए पाया गया।<ref>{{cite web
परिवर्तन का परिणाम यह है कि कई शेल स्क्रिप्ट्स को शेबैंग लाइन में उचित रूप से घोषित किए बिना [[जीएनयू बैश]]-विशिष्ट कार्यात्मकताओं (बैशिज़्म) का उपयोग करते हुए पाया गया।<ref>{{cite web
| url=https://bugs.launchpad.net/ubuntu/+source/dash/+bug/61463
| url=https://bugs.launchpad.net/ubuntu/+source/dash/+bug/61463
| title=Script that are using bash could be broken with the new symlink
| title=Script that are using bash could be broken with the new symlink
Line 96: Line 97:
| date=2007-09-21
| date=2007-09-21
| publisher=Launchpad
| publisher=Launchpad
| access-date=2020-02-29}}</ref> समस्या को पहली बार उबंटू में देखा गया था और उबंटू अनुरक्षकों ने सभी लिपियों को पॉज़िक्स मानक का अनुपालन करने का निर्णय लिया। परिवर्तनों को बाद में डेबियन में अपस्ट्रीम किया गया, जिसने जल्द ही डैश को अपने डिफ़ॉल्ट के रूप में अपनाया {{code|/bin/sh}} बहुत। नतीजतन, सभी {{code|/bin/sh}} डेबियन और उबंटु में स्क्रिप्ट पॉज़िक्स- संगत होने की गारंटी है, सुविधा के लिए डैश में विलय किए गए एक्सटेंशन के लिए सहेजें ({{code|local}}, {{code|echo -n}}, {{code|test -a / -o}}).<ref name=deb>{{cite web |title=10. फाइलें|url=https://www.debian.org/doc/debian-policy/ch-files.html#scripts |website=Debian Policy Manual v4.5.0.2}}</ref><ref>{{man|1|checkbashisms|ManKier}}</ref> स्लैकवेयर लिनक्स में एक समान परिवर्तन हुआ है, हालांकि उनका संस्करण {{code|ash}} केवल आंशिक रूप से डैश पर आधारित है।<ref name=vars/>
| access-date=2020-02-29}}</ref> समस्या को सर्वप्रथम उबंटू में अवलोकित किया गया था और उबंटू अनुरक्षकों ने सभी लिपियों को पॉज़िक्स मानक का अनुपालन करने का निर्णय लिया था। परिवर्तनों को पश्चात में डेबियन में अपस्ट्रीम किया गया था, जिसने शीघ्र ही डैश को इसके डिफ़ॉल्ट {{code|/bin/sh}} के रूप में स्वीकार किया था। नतीजतन, सभी {{code|/bin/sh}} डेबियन और उबंटु में स्क्रिप्ट पॉज़िक्स- संगत होने की गारंटी है, सुविधा के लिए डैश में विलय किए गए एक्सटेंशन के लिए सहेजें ({{code|local}}, {{code|echo -n}}, {{code|test -a / -o}}).<ref name="deb">{{cite web |title=10. फाइलें|url=https://www.debian.org/doc/debian-policy/ch-files.html#scripts |website=Debian Policy Manual v4.5.0.2}}</ref><ref>{{man|1|checkbashisms|ManKier}}</ref> स्लैकवेयर लिनक्स में एक समान परिवर्तन हुआ है, हालांकि उनका संस्करण {{code|ash}} केवल आंशिक रूप से डैश पर आधारित है।<ref name="vars" />
 





Revision as of 13:55, 23 May 2023

Almquist shell
Developer(s)Kenneth Almquist
Initial releaseMay 30, 1989; 35 years ago (1989-05-30)
Written inC
Operating systemUnix-like
PlatformCross-platform
TypeUnix shell

अल्मक्विस्ट शेल (जिसे ए शेल, ash और sh के रूप में भी जाना जाता है) सरल यूनिक्स शेल है जिसे मूल रूप से 1980 के अंत में केनेथ अल्मक्विस्ट द्वारा लिखा गया था। प्रारंभ में बॉर्न शेल की प्रणाली V.4 संस्करण के क्लोन ने 1990 के दशक के प्रारंभ में प्रस्तावित यूनिक्स के बीएसडी संस्करणों में मूल बॉर्न शेल को परिवर्तित कर दिया।

इतिहास

ash को सर्वप्रथम comp.sources.unix यूज़नेट समाचार समूह में पोस्टिंग के माध्यम से प्रचलित किया गया था, जिसे 30 मई 1989 को रिच साल्ज़ द्वारा अनुमोदित और संचालित किया गया था। इसे प्रणाली V शेल के पुनर्कार्यान्वयन के रूप में वर्णित किया गया था जिसमें उस शेल की अधिकांश विशेषताएं और कुछ परिवर्धन सम्मिलित हैं।[1]

यूनिक्स शेल ash के पॉज़िक्स मानक के विनिर्देश के साथ तीव्र, छोटा और वस्तुतः संगत[citation needed], लाइन एडीटर या कमांड इतिहास तंत्र प्रदान नहीं करता था, क्योंकि अल्मक्विस्ट ने अनुभूत किया कि ऐसी कार्यक्षमता को कंप्यूटर टर्मिनल डिवाइस ड्राइवर में स्थानांतरित किया जाना चाहिए। चूँकि, उपस्थित वेरिएंट इसका समर्थन करते हैं।

निम्नलिखित को स्लैकवेयर v14 से ash पैकेज की इनफार्मेशन से प्राप्त किया गया है-

ash (Kenneth Almquist's ash shell)

A lightweight (92K) Bourne compatible shell. Great for machines with low memory, but does not provide all the extras of shells like bash, tcsh, and zsh. Runs most shell scripts compatible with the Bourne shell. Note that under Linux, most scripts seem to use at least some bash-specific syntax. The Slackware setup scripts are a notable exception, since ash is the shell used on the install disks. NetBSD uses ash as its /bin/sh.

मूल ash मोचन से मैरीड फोर्क उत्पन्न किए गए हैं।[2] ash के ये डेरिवेटिव फ्री बीएसडी, नेट बीएसडी, ड्रैगन फ्लाई बीएसडी , मिनिक्स, और कुछ लिनक्स वितरणों में डिफ़ॉल्ट शेल (/bin/sh) के रूप में स्थापित हैं। मिनिक्स 3.2 ने मूल ash संस्करण का उपयोग किया, जिसकी टेस्ट (यूनिक्स) विशेषता पॉज़िक्स से भिन्न थी।[3] शेल के उस संस्करण को मिनिक्स 3.3 में परिवर्तित कर दिया गया था। एंड्रॉयड ने एंड्रॉयड 4.0 तक ash का उपयोग किया जो इस बिंदु पर कॉर्नशेल में परिवर्तित हो गया।[4]


डैश

Debian Almquist shell (DASH)
Developer(s)Herbert Xu
Initial releaseJuly 15, 1997; 27 years ago (1997-07-15)
Written inC
Operating systemLinux, Android
TypeUnix shell
Websitegondor.apana.org.au/~herbert/dash/

1997 में हर्बर्ट जू ने ash को नेटबीएसडी से डेबियन लिनक्स में पोर्ट किया था। सितंबर 2002 में प्रस्तावित 0.4.1 के साथ इस पोर्ट का नाम परिवर्तित करके डैश (डेबियन अल्मक्विस्ट शेल) कर दिया गया था। जू की मुख्य प्राथमिकताएं पॉज़िक्स अनुरूपता और स्लिम कार्यान्वयन हैं।[2]

अपने पूर्ववर्ती की भाँति ही डैश अंतर्राष्ट्रीयकरण, स्थानीयकरण और मल्टी-बाइट कैरेक्टर एन्कोडिंग (दोनों पॉज़िक्स में आवश्यक) के लिए समर्थन क्रियान्वित नहीं करता है।[citation needed] लाइन संपादन और जीएनयू रीडलाइन पर आधारित इतिहास समर्थन वैकल्पिक (--with-libedit) है।

एडॉप्शन इन डेबियन एंड उबंटू

इसकी स्लिमनेस के कारण, उबंटू (ऑपरेटिंग सिस्टम) ने 2006 में डैश को डिफ़ॉल्ट /bin/sh[5][6] के रूप में स्वीकार करने का निश्चय किया। डेबियन और उबंटू के पूर्व संस्करणों की तुलना में डैश का उपयोग करने का कारण, विशेष रूप से ऑपरेटिंग सिस्टम के स्टार्टअप के समय तीव्र शेल स्क्रिप्ट निष्पादन है[7] जो इस उद्देश्य के लिए बैश का उपयोग करते है, चूँकि बैश (यूनिक्स शेल) अभी भी इंटरैक्टिव उपयोग के लिए डिफ़ॉल्ट लॉगिन शेल है।[8] अक्टूबर 2006 में प्रस्तावित 6.10 के साथ उबंटू में डैश डिफ़ॉल्ट /bin/sh बन गया।[6] डैश ने बैश को प्रतिस्थापित किया और डेबियन 6 (स्क्वीज़) में डिफ़ॉल्ट/bin/sh बन गया।[5]

परिवर्तन का परिणाम यह है कि कई शेल स्क्रिप्ट्स को शेबैंग लाइन में उचित रूप से घोषित किए बिना जीएनयू बैश-विशिष्ट कार्यात्मकताओं (बैशिज़्म) का उपयोग करते हुए पाया गया।[9][10] समस्या को सर्वप्रथम उबंटू में अवलोकित किया गया था और उबंटू अनुरक्षकों ने सभी लिपियों को पॉज़िक्स मानक का अनुपालन करने का निर्णय लिया था। परिवर्तनों को पश्चात में डेबियन में अपस्ट्रीम किया गया था, जिसने शीघ्र ही डैश को इसके डिफ़ॉल्ट /bin/sh के रूप में स्वीकार किया था। नतीजतन, सभी /bin/sh डेबियन और उबंटु में स्क्रिप्ट पॉज़िक्स- संगत होने की गारंटी है, सुविधा के लिए डैश में विलय किए गए एक्सटेंशन के लिए सहेजें (local, echo -n, test -a / -o).[11][12] स्लैकवेयर लिनक्स में एक समान परिवर्तन हुआ है, हालांकि उनका संस्करण ash केवल आंशिक रूप से डैश पर आधारित है।[2]


एंबेडेड लिनक्स

ash (मुख्य रूप से डैश कांटा) भी एम्बेडेड लिनक्स सिस्टम में काफी लोकप्रिय है। डैश संस्करण 0.3.8-5 को बिजीबॉक्स में शामिल किया गया था, कैच-ऑल एक्ज़ीक्यूटेबल अक्सर इस क्षेत्र में नियोजित होता है, और इसका उपयोग DSLinux, अल्पाइन लिनक्स, टिनी कोर लिनक्स और लिनक्स-आधारित राउटर (कंप्यूटिंग) फ़र्मवेयर जैसे OpenWrt, जैसे वितरण में किया जाता है। टमाटर (फर्मवेयर) और डीडी-WRT

यह भी देखें

  • कंप्यूटर गोले की तुलना

संदर्भ

  1. Almquist, Kenneth (May 30, 1989). Rich Salz (ed.). "v19i001: A reimplementation of the System V shell, Part01/08". Usenet newsgroup, comp.sources.unix.
  2. 2.0 2.1 2.2 Mascheck, Sven. "Ash (Almquist Shell) Variants". www.in-ulm.de.
  3. Thomas E. Dickey (2015). "टेस्ट बनाम पोर्टेबिलिटी". Retrieved March 1, 2020.
  4. Elliott Hughes (2018-06-20). "Android's shell and utilities". Retrieved 2020-02-29.
  5. 5.0 5.1 "Non-interactive Shell". Debian Wiki. 2020-01-13. Retrieved 2020-02-29.
  6. 6.0 6.1 "Dash as /bin/sh". Ubuntu Wiki. 2017-12-16. Retrieved 2020-02-29.
  7. Neal Krawetz (2011). Ubuntu: Powerful Hacks and Customizations. John Wiley & Sons. p. 178. ISBN 9781118080382.
  8. Christopher Negus; Francois Caen (2011). Ubuntu Linux Toolbox. John Wiley & Sons. p. 49. ISBN 9781118079140.
  9. Egil Hasting (2006-09-20). "Script that are using bash could be broken with the new symlink". Launchpad. Retrieved 2020-02-29.
  10. comotion (2007-09-21). "dash as #!/bin/sh introduces countless incompatibilities". Launchpad. Retrieved 2020-02-29.
  11. "10. फाइलें". Debian Policy Manual v4.5.0.2.
  12. checkbashisms(1) – Linux General Commands Manual


बाहरी संबंध