यूनिक्स शैल संस बाश में क्या उपहार मौजूद हैं?


5

मैं यूनिक्स-लिनक्स/सोलारिस का उपयोग कर रहे समय के बाद से 'बैश' का उपयोग कर रहा हूं। अब, मुझे यह जानने में दिलचस्पी है कि 'ksh', 'zsh' जैसे गोले बेहतर क्या हैं? 'geeks' का उपयोग क्या करते हैं?

5

मैं zsh के आंशिक हूं (यह ksh और bash के मिश्रण की तरह है)। guide में इसकी विशेषताओं का एक अच्छा अवलोकन है। यह page में एक अच्छा चार्ट है जो विभिन्न शैलियों में विभिन्न सुविधाओं की उपलब्धता दिखाता है।

  0

'zle' (http://zsh.sunsite.dk/Guide/zshguide04.html#l75) अच्छा लगता है। 22 feb. 092009-02-22 04:21:19


0

मैंने प्रति सत्र खोल इतिहास प्रदान करने के लिए एक कठोर किया था।

यहां अद्वितीय चीज़ थी कि प्रत्येक खिड़की का अपना खोल इतिहास था। काफी सुविधाजनक

  0

क्या यह बैश के माध्यम से है? 28 feb. 092009-02-28 02:15:36

  0

मैंने इसे स्वयं केश के साथ किया था। मैं अब ऐसा नहीं करता, लेकिन मुझे लगता है कि आप इसे zsh के साथ पूरा कर सकते हैं, और शायद बाश के साथ। 28 feb. 092009-02-28 02:46:03

  0

कुछ प्रणालियों पर मुझे इसे सिम्लिंकिंग द्वारा मिला। इतिहास (या यह .sh_history)/dev/null पर है। दूसरों पर मुझे एक कस्टम खोल संकलित करना पड़ा। 06 may. 092009-05-06 20:05:06


1

मैं प्राथमिकता से ksh93 का उपयोग करता हूं। इसका मतलब यह है कि केश की मूल बातें किसी भी प्रणाली पर मुझे उपलब्ध हैं, इसलिए मेरा इंटरैक्टिव अनुभव और 9 8% जटिल प्रोफाइल समान रहता है।

  0

+1 यदि आप आमतौर पर * निक्स ओएस स्वाद के एकल (या कुछ अन्य छोटी संख्या) पर काम करते हैं, तो कोई भी खोल ठीक है। यदि आप विभिन्न ओएस स्वादों के "कुछ" या "बहुत" पर काम करते हैं, तो ksh जल्दी से पसंदीदा गोले की अपनी सूची के शीर्ष पर कूदना चाहिए। मुझे कभी भी एक * निक्स नहीं मिला है जिसमें किश्त को डिफ़ॉल्ट खोल के रूप में शामिल नहीं किया गया था। 07 jul. 092009-07-07 15:15:23


3
  • बैश: मेरे अनुभव में, अधिकांश लोग बैश का उपयोग करते हैं, आंशिक रूप से क्योंकि यह अधिकांश लिनक्स सिस्टम में मानक खोल है।

  • ksh: कई सोलारिस सिस्टम इसके बजाय ksh का उपयोग करते हैं, लेकिन ऐसा लगता है कि यह लोकप्रियता को खोने के लिए लोकप्रियता खो रहा है।

  • सीएसएच: सीएसएच अधिक लोकप्रिय होता था, लेकिन आम तौर पर टीसीएस द्वारा अधिभारित किया जाता था। टीसीएस उन लोगों के लिए बुरा नहीं है जो सी-जैसे सिंटैक्स के साथ बहुत सहज हैं।

  • zsh: मैंने zsh का उपयोग नहीं किया है, लेकिन ऐसा लगता है कि यह बहुत ही समृद्ध है।

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


1

bash थोड़ा धीमा है, लेकिन कई एफएसएफ कार्यक्रमों की तरह, यह सभी ज्ञात सुविधाओं को शामिल करने का प्रयास करता है। मैं ksh93 का उपयोग करता हूं, जो काफी हद तक bash के साथ एकत्रित हुआ है। ksh का मुख्य लाभ यह है कि सी कोड के साथ खोल को विस्तारित करने के लिए यह एक अच्छा इंटरफ़ेस है। इसे कस्टमाइज़ करना भी थोड़ा आसान है, उदाहरण के लिए, टैब कुंजी को जो कुछ भी आप चाहते हैं, उसे संदर्भ में करें। नुकसान यह है कि आदेश पूर्णता में नहीं बनाया गया है; आपको इसे प्रोग्राम करना है।

csh और उसके डेरिवेटिव :-)


1

मेरे अनुभव में से बचें, वहाँ मानक यूनिक्स के गोले में बहुत कम उपहार (जहां इसका मतलब है कि, मेरे लिए, csh, sh, ksh) कि भी पर पेश नहीं कर रहे हैं bash में कम से कम समकक्ष रूप। नतीजतन, जब तक आप आरामदायक हैं कि bash आपकी सभी मशीनों पर होगा, आप अधिकतम कार्यक्षमता प्राप्त करने के लिए इसका उपयोग भी कर सकते हैं।

ओटीओएच, यदि आप पोर्टेबिलिटी से निपटना चाहते हैं, तो आप शायद ksh का उपयोग करेंगे, जो कि पॉज़िक्स मानक के बहुत करीब है - कुछ एक्सटेंशन के साथ (बैश भी पॉज़िक्स मानक के काफी करीब है, लेकिन अधिक एक्सटेंशन के साथ)।

मैं वास्तव में के स्थान पर POSIX $(cmd) अंकन की तरह क्लासिक बैक टिक्स

`cmd` 

(यही कारण है कि Markdown में मज़ा नहीं था!)। यह पसंद करने के लिए एक प्रमुख कारण यह बहुत कुछ कॉल घोंसला करने के लिए आसान है:

gcclib=$(dirname $(dirname $(which gcc)))/lib 

बैक-टिक के साथ एक पंक्ति में है कि सही हो रही पर्याप्त मूर्ख है कि आप इसे एक से एक में करने का प्रयास नहीं होता है -liner। यह ksh और bash में है; यह क्लासिक बोर्न शेल (/bin/sh में नहीं है, लेकिन ध्यान रखें कि /bin/sh कुछ मशीनों पर क्लासिक बॉर्न खोल नहीं है लेकिन bash छद्म रूप में), न ही सी खोल में।


2

बैश सबसे व्यापक संगतता के लिए जानना सबसे अच्छा है, आप मूल रूप से किसी भी यूनिक्स पर बैठ सकते हैं और यह वहां होगा।

ज़श शायद सबसे आधुनिक गोले में से एक है।


1

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

कॉर्न शैल और बैश में वैसे भी, अवधारणा में बहुत आम है। जैसे/bin/sh, Korn shell एटी & टी मूल रूप से आया था, और अपेक्षाकृत हाल ही में इसे खोला नहीं गया था। इसका एक अच्छा इतिहास तंत्र है, और इतिहास राज्य फ़ाइलों पर फ़ाइल लॉकिंग करता है ताकि अगर वे नेटवर्क फ़ाइल सर्वर पर घुड़सवार हों, तो खोल की कई प्रतियां एक दूसरे को क्लॉबर्ड किए बिना इतिहास फ़ाइल को सही ढंग से लिखेंगी। यह/bin/sh वाक्यविन्यास का भी समर्थन करता है, और/bin/csh के बारे में कुछ अच्छी चीजों को शामिल करता है। Ksh के लिए बहुत कुछ है, और यह आमतौर पर एक बहुत अच्छा खोल है, अगर आप इसे पा सकते हैं। मैं इसे सोलारिस पर इस्तेमाल करता था, खासकर जब मैं सूर्य पर काम कर रहा था। मैं कुछ भी इंस्टॉल नहीं करना चाहता था जो ओएस के साथ नहीं आया था, क्योंकि मैंने सप्ताह में कई बार एक नया ओएस स्थापित किया था, इसलिए यह एक अच्छा विकल्प था।

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

जैसा कि अन्य ने कहा है, सी-शैल के किसी भी संस्करण से बचने के लिए सबसे अच्छा है, उन शैलियों को छोड़कर जो आपको कुछ/bin/csh की विशेषताएं देते हैं लेकिन इन्हें/bin/csh कोड से नहीं लिया जाता है।