अल्मक्विस्ट शेल

From Vigyanwiki

अल्मक्विस्ट शेल (जिसे ए शेल, 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.



ऐश (केनेथ अल्मक्विस्ट का ऐश शैल)

एक हल्का (92K) बॉर्न संगत खोल। कम मेमोरी वाली मशीनों के लिए बढ़िया है, लेकिन बैश, tcsh, और zsh जैसे शेल के सभी अतिरिक्त सुविधाएं प्रदान नहीं करता है। बॉर्न शेल के साथ संगत अधिकांश शेल स्क्रिप्ट चलाता है। ध्यान दें कि लिनक्स के तहत, अधिकांश स्क्रिप्ट कम से कम कुछ बैश-विशिष्ट सिंटैक्स का उपयोग करती प्रतीत होती हैं। स्लैकवेयर सेटअप स्क्रिप्ट एक उल्लेखनीय अपवाद है, क्योंकि ऐश इंस्टॉल डिस्क पर उपयोग किया जाने वाला शेल है। नेटबीएसडी राख को अपने /बिन/श के रूप में उपयोग करता है।

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


डैश

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 को बिजीबॉक्स में सम्मिलित किया गया था, कैच-ऑल एक्ज़ीक्यूटेबल अधिकांशतः इसी क्षेत्र में नियोजित होता है और इसका उपयोग डीएस लिनक्स, अल्पाइन लिनक्स, टिनी कोर लिनक्स और लिनक्स-आधारित राउटर (कंप्यूटिंग) फ़र्मवेयर जैसे ओपनवार्ट, टोमेटो (फर्मवेयर) और डीडी-डब्लूआरटी जैसे वितरण में किया जाता है।

यह भी देखें

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

संदर्भ

  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


बाहरी संबंध