यूनिक्स गोले की तुलना


9

प्रमुख यूनिक्स गोले (बाश, क्ष, टीश, ज़श, अन्य?) में से, किसी एक पर एक का उपयोग करने के लिए कोई बाध्यकारी कारण हैं?

  • सबसे इंटरेक्टिव / कमांड-लाइन फ्रेंडली कौन सा है?
  • स्क्रिप्ट लिखने के लिए सबसे अनुकूल / सहज कौन सा है?
  • क्या कोई प्रमुख अंतर्निहित विशेषताएं हैं जो एक शेल प्रदान करती हैं जो अन्य नहीं करते हैं?
  • क्या इनमें से कोई भी शेल एक प्रकार के फ़ंक्शन के लिए वास्तव में अच्छा है, लेकिन किसी अन्य के लिए नहीं? या वे सभी बहुत अच्छी तरह गोल / लचीले हैं?
  • क्या यह सिर्फ व्यक्तिगत पसंद की बात है?

अगर कोई पसंद करता है तो मैं इस समुदाय को विकि बना सकता हूँ।

जवाबों:


17

वर्तमान:

  • bash- बॉर्न फिर से खोल, अधिकांश लिनक्स वितरण में डिफ़ॉल्ट शेल। निर्णय लेने की विशेषताएं;
  • zsh - सबसे अमीर विशेषता, लेकिन अभी भी शायद ही कभी इस्तेमाल किया जाता है;
  • ksh - सोलारिस, एआईएक्स और अन्य कुछ अन्य यूनियनों में डिफ़ॉल्ट शेल;
  • tcsh - विभिन्न * BSD स्वाद यूनियनों में डिफ़ॉल्ट शेल;

ऐतिहासिक:

  • sh- मूल बॉर्न शेल (1977 में रिलीज़)। बैश द्वारा Obsoleted;
  • csh- मूल सी शेल (1978 जारी)। Tcsh और ksh द्वारा नियंत्रित;

ध्यान दें, कि bash, ksh और zsh sh सिंटैक्स से निकलते हैं, जबकि tsh csh सिंटैक्स से निकलता है। यह दो बिल्कुल अलग वाक्यविन्यास हैं।

सुविधा चार्ट (विकी)।


अधिकांश स्क्रिप्ट आमतौर पर श कंप्लीट होने के लिए लिखी जाती हैं, क्योंकि स्क्रिप्ट को श के माध्यम से लॉन्च करना आमतौर पर बैश की तुलना में बहुत तेज होता है।
मिकेग

सो कैसे? लिनक्स / बिन / श पर / बिन / बैश के लिए सहानुभूति है।
vartec

2
/ बिन / श हमेशा के लिए / बिन / बैश के लिए एक सिमिलर नहीं है
ब्रैड गिल्बर्ट

1
जब आप बैश को "श" के रूप में इंस्टेंट करते हैं, तो यह "श" मोड में चलता है जो बैश कमांडों के सबसेट का समर्थन करता है। मेरा मानना ​​है कि "श" वाक्य रचना एक पोसिक्स मानक है।
duffbeer703

डेबियन पर आप 'डैश' को 'बिन / श' के विकल्प के रूप में उपयोग कर सकते हैं।
'

9

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

कुछ स्क्रीनशॉट ( 1 , 2 , 3 , 4 ) सामान्य विचार देने के लिए पर्याप्त हैं।

मछली अब काम पर मेरे मैक पर डिफ़ॉल्ट शेल है। जाओ पता लगाओ।


2

यदि आप sh/ के अलावा किसी शेल को सीखने जा रहे हैं bash, तो आप बस साथ जा सकते हैं zsh। मुझे नहीं लगता कि कोई भी गंभीरता से प्रतियोगिता करता है कि यह वैकल्पिक गोले का सबसे शक्तिशाली और फीचर-पैक है; क्या यह सिर्फ ब्लोट है, ज़ाहिर है, अभी भी बहस के लिए तैयार है।

मैंने अच्छी चीजों के बारे में सुना है fish, लेकिन उनके साथ परेशान करने की कोशिश कभी नहीं की।

मेरे द्वारा पहचाने जाने वाले प्रवेश cshऔर tcshउन अपमानों से बचने के लिए जिन्हें हर कीमत पर टाला जाना चाहिए, और मैं उनसे सहमत होने के बावजूद कभी भी खुद को शेल के माध्यम से डालने के लिए मजबूर नहीं हुआ।


2

मैं बैश को अच्छी तरह से जानने की सलाह दूंगा क्योंकि यह सबसे आम (आमतौर पर लिनक्स डिफॉल्ट) में से एक है। व्यक्तिगत रूप से, मुझे अपने इंटरैक्टिव शेल के रूप में zsh बहुत पसंद है। इसमें बेहतरीन पूर्णताएं हैं। उदाहरण के लिए, आप मेजबानों की एक सूची निर्धारित कर सकते हैं और जब आप ssh Ser [टैब] जैसा कुछ करते हैं, तो यह उन मेजबानों में से एक को पूरा करने के लिए ऑटो को टैब करने का प्रयास करने के लिए पता होगा। इसमें पुनरावर्ती ग्लोबिंग भी है, इसलिए यदि आप वर्तमान और उपनिर्देशिका में सभी जेपीईजी फाइलें ढूंढना चाहते हैं तो आप उपयोग कर सकते हैं ls -ld **/*.jpg। ज़ीश के साथ बहुत सारी मज़ेदार विशेषताएं हैं (लोगों के लिए खोज .zshrc फाइलें), और आप इसे 'बैश संगत' के लिए सेट कर सकते हैं, इसलिए दोनों के बीच स्विच करना आसान है। यदि आप इसे GNU स्क्रीन के साथ जोड़ते हैं, तो आप पा सकते हैं कि कमांड लाइन के साथ काम करने में काफी खुशी मिलती है।


1

अपने अन्य प्रश्न को न भूलें सबसे आम यूनिक्स / लिनक्स शेल - सबसे लोकप्रिय शेल संभवतः एक कारण के लिए सबसे लोकप्रिय है;;

इसके लायक क्या है, ज्यादातर लोग अक्सर गोले के बीच स्विच नहीं करते हैं, इसलिए विभिन्न विकल्पों की एक अच्छी तरह से गोल तुलना करना मुश्किल होगा; आप अलग-अलग लोगों को अपने पसंदीदा गोले के गुणों की जासूसी करते हुए देख पाएंगे। अलग-अलग गोले के बारे में मैंने जो कुछ सुना है, वे सभी कुछ एक ही बुनियादी सुविधाओं (जैसे I / O पुनर्निर्देशन, कमांड इतिहास आदि) की पेशकश करते हैं, इसलिए व्यक्तिगत प्राथमिकता एक बड़े घटक होने की संभावना है।


1

ZSH का उपयोग करने के लिए एक सम्मोहक कारण जिसका उल्लेख नहीं किया गया है वह है vi मोड और एमएसीएस मोड

जो लोग शेल में अपनी vi मांसपेशी मेमोरी का उपयोग करने के लिए प्यार करते हैं, उनके लिए यह एक हत्यारा विशेषता है।

और जो लोग emacs पसंद करते हैं, आप उन कीबाइंडिंग का भी उपयोग कर सकते हैं, लेकिन सच्चे emacs- विश्वासी शायद कहेंगे कि emacs उनका पसंदीदा शेल है।

;-)


0

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


0

जैसे ही हेड अप: उबंटू "श" को "डैश" को डिफॉल्ट करता है, जो कि POSIX कम्पैटिबिलिटी के साथ अतीत में कुछ समस्याएं पैदा करता है। जाहिरा तौर पर, गूंज आदेश थोड़ा भिन्न होता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.