linux समझ क्या लिनक्स खोल मैं उपयोग करना चाहिए?




हिन्दी में लिनक्स बूटिंग प्रक्रिया (19)

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

स्क्रिप्टिंग के लिए, बॉर्न शेल (श) का उपयोग करें। यह पॉसिक्स मानक स्क्रिप्टिंग भाषा है और आपकी लिपियों को हर जगह काम करने के लिए बहुत ज्यादा गारंटी है। बाश और जेश और अन्य गोले में अच्छे एक्सटेंशन हैं जिन्हें आपको याद होगा लेकिन ये आपको किसी विशिष्ट सेटअप के लिए टाई करते हैं। व्यक्तिगत-उपयोग केवल लिपियों के लिए यह सलाह पर ध्यान न दें कि आप निश्चित हैं कि आप कहीं और नहीं चलेंगे, लेकिन याद रखें कि यह एक वास्तविक व्यापार है जिसे आपको विचार करने की आवश्यकता है।

लेकिन सारांश में, Zsh मैं किसी के बारे में नहीं जानता जो इसे करने की कोशिश की है जो तुरंत और स्थायी रूप से स्विच नहीं किया यह सचमुच में इतना अच्छा है।

https://code.i-harness.com

मैंने bash, csh, और tcsh का उपयोग किया है लेकिन मैंने इस सवाल से पूछा, और जोनाथन ने मुझे बताया कि सीएसटी पर भरोसा नहीं करना है। तो लिनक्स खोल क्या विकास के लिए अच्छा है। और क्यों?


दे घुमा के। यह मानक है


बस कॉर्न शेल (के.एस.एस.) का उपयोग न करें।

जब तक आपके पास सही टाइपिंग नहीं है और कभी भी बैकस्पेस कुंजी का उपयोग करने की आवश्यकता नहीं है


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

पोर्टेबल शेल प्रोग्रामिंग: ब्रंस ब्लिइन (पेपरबैक - अक्टूबर 2 9, 1995) द्वारा बॉर्न शैल उदाहरणों (एचपी व्यावसायिक सीरीज) का एक व्यापक संग्रह amazon.com


मैं zsh पसंद करते हैं

टैब-पूर्णता अकेले इसके लायक है:

  • यदि आप चाहें तो यह वाइल्डकार्ड फैलता है (जब आप किसी निर्देशिका में सभी फाइलें हटाना चाहते हैं, तो आसान)
  • प्रोग्राम निर्दिष्ट करने के बाद आपको स्विचेस की एक सूची दी जाएगी
  • जिस लाइन पर आप काम कर रहे हैं, उसके नीचे टैब पूरा विकल्प देता है, जो बहुत आसान है।

http://zsh.sourceforge.net/


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

यदि आप पोर्टेबल शैल लिपियों को लिखने की योजना बना रहे हैं, तो सुनिश्चित करें कि वे सभी असली sh में चलते हैं।


मैं पूर्ण समय टाइपिंग के करीब कुछ भी बिना पीडीकेएसटी का उपयोग कर रहा हूं (शायद आपको अपना टर्मैंक तय करना है?)।

ksh मानक है, csh एक मानक है और bash 'मानक' है, लेकिन केवल लिनक्स पर ही। केश को लक्षित करने के लिए बेहतर


सीएसटी के साथ समस्या यह है कि स्क्रिप्टिंग के लिए यह बकवास है, जैसा कि यहां समझाया गया है कोई वास्तविक कारण नहीं है कि आपको इसे एक इंटरैक्टिव शैल के रूप में क्यों नहीं इस्तेमाल करना चाहिए, लेकिन अधिकांश लोगों को यह पता चलता है कि वे दो अलग-अलग गोले सीखते हैं और कमांड लाइन पर उनकी स्क्रिप्ट की कोशिश नहीं कर पा रहे हैं, इसलिए इसका उपयोग करना सबसे आसान है सब कुछ के लिए एक ही है

एक इंटरैक्टिव खोल के लिए स्पष्ट उम्मीदवारों में बाश, डैश, ज़श और {पीडी}} केएसएच हैं। इनमें से सभी कुछ छोटे एक्सटेंशन के साथ, पिनिक्स शेल मानक को लागू करते हैं। इंटरैक्टिव उपयोग के लिए जो भी आपको पसंद है, उसे चुनें, मैं बस के साथ जाना चाहूंगा क्योंकि यह लिनक्स पर मानक है, लेकिन सभी के पास उनकी योग्यता है और विशेष रूप से zsh लोकप्रिय है।

यदि आप एक स्क्रिप्ट लिख रहे हैं जिसका आप पोर्टेबल होना चाहते हैं, तो #! / Bin / sh का उपयोग करें और सुनिश्चित करें कि आप मानक पॉज़िक्स शेल सिंटैक्स का उपयोग करते हैं। यदि यह दोनों bash और ksh पर काम करता है तो यह शायद मानक है। यूनिक्स के कुछ पुराने संस्करण हैं जो कि एक गैर-मानक / बिन / श है लेकिन मैं इसके साथ परेशान नहीं होता जब तक आप नहीं जानते कि आपको करना है। पोर्टेबिलिटी के लिए एक समस्या अधिक आप अपने स्क्रिप्ट से कॉल सभी कमांड लाइन उपकरण हैं


मैं रूबी उपयोगकर्ता नहीं हूं, लेकिन http://rush.heroku.com/ दिलचस्प दिखता है


यह शायद सबसे अच्छा है कि आप आसानी से बाश के साथ रहें क्योंकि यह शेल और किसी भी ट्यूटोरियल के रूप में सबसे व्यापक रूप से उपयोग किया जाता है या किसी से प्राप्त होने में आपकी मदद के लिए सबसे अधिक संभावना है bash। हालांकि, मैंने अपनी सभी लिपियों के लिए zsh का उपयोग करना शुरू कर दिया है और मुझे स्क्रीप्टिंग के संदर्भ में इसे बास से बेहतर माना गया है।


चूंकि मेरा मानना ​​है कि मैं व्यक्ति हूँ जिसने सुझाव दिया है कि आपको सी शैल के अलावा किसी अन्य का उपयोग करना चाहिए, शायद मुझे अपनी टिप्पणी को थोड़ा सा अर्हता प्राप्त करनी चाहिए, और फिर उन लोगों का समर्थन करना चाहिए जिन्होंने 'लिनक्स पर बीश, अन्य प्लेटफार्मों पर कार्न खोल दिया था (जब तक कि बैश स्थापित नहीं हो वहॉं भी)'।

बल्कि संपादकों की तरह (आप vim या emacs पसंद करते हैं), शेल का विकल्प आंशिक रूप से परिचित का सवाल है और आंशिक रूप से वरीयता का सवाल है ऐसे कई लोग हैं जो सी शेल पसंद करते हैं, हालांकि मुझे विश्वास है कि यह बॉर्न शेल और डेरिवेटिव से कम आसानी से प्रोग्राम योग्य है। मेरे पास क्या है। Cshrc, वास्तव में, exec /bin/ksh बराबर है (यह समान रूप से नहीं है क्योंकि मैं लॉगिन शेल निष्पादित करना चाहता हूं - जो कि प्रोफ़ाइल को पढ़ता है और), लेकिन मैं निंदा नहीं करेगा सी शेल या व्युत्पन्न का उपयोग करने के लिए कोई भी अगर यह एक सूचित निर्णय है

यदि आप तय करते हैं कि आप सी शेल के अलावा किसी अन्य का उपयोग करना चाहते हैं, तो आप मूल रूप से बॉर्न शेल कैंप में हैं, जिसके लिए POSIX मानक अधिक या कम अपेक्षित व्यवहार को निर्दिष्ट करता है और फिर अलग-अलग गोले - अर्थात, बॉर्न, कॉर्न या बर्न फिर गोले - कुछ विशेषताओं को जोड़ने (या, क्लासिक बोर्न शेल के मामले में, घटाएं) अगर आपके कोड को कभी भी एचपी-यूएक्स, सोलारिस या एएक्स (क्लासिक, एटी एंड टी-व्युत्पन्न यूनिक्स संस्करणों की जीवित तीनों) के लिए लिफ्ट को दूर करने की आवश्यकता हो, तो आपको क्लासिक बॉर्न शेल में अपनी शैल स्क्रिप्ट लिखने के लिए सुनिश्चित करना चाहिए, हालांकि कॉर्न खोल भी बहुत सुरक्षित है ध्यान दें, हालांकि, लिनक्स पर आप #!/bin/sh लिख सकते हैं और अन्य प्लेटफार्मों पर बैश प्राप्त कर सकते हैं, आप बॉर्न शेल प्राप्त करेंगे।

मैं बड़ी समस्याओं के बिना कॉर्न शेल और बैश के बीच स्विच करता हूं - और शायद ही कभी छोटी समस्याओं के साथ। मैं उन भाषा के उन कोनों से स्पष्ट रहना पसंद करता हूं जो अच्छी तरह से परिभाषित नहीं हैं - जिसका अर्थ है 'दोनों में परिभाषित' लिनक्स का उपयोग करने वालों के लिए एक अन्य समस्या यह है कि जीएनयू टूल में क्लासिक यूनिक्स संस्करण की तुलना में अधिक विकल्प हैं, और आप शेल प्रोग्रामिंग निर्माण की वजह से पोर्टेबिलिटी नहीं खो सकते हैं, लेकिन आप जिस कमांड विकल्प का उपयोग करते हैं उसके कारण। अनुभव और अन्य सिस्टम के मैन्युअल पृष्ठों के लिए तैयार पहुंच बेहद मदद करता है।


मैं सीएसएस से भी आया, टीसीएस से बीश यह अलग है लेकिन कुछ समय बाद, सी-गोले के रूप में कम से कम अच्छा।

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


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

अपने व्यक्तिगत कंसोल के लिए प्रयोग करें, वहां क्या है इसके साथ प्रयोग करें कुछ खोजें जो आप के साथ आराम कर रहे हैं स्वस्थ रहें और अपने सभी सिसडमिन मित्रों को एक शेल उठाकर परेशान कर दें, जो आपको हर मशीन के लिए स्रोत से संकलित किया जाना चाहिए, जिसे आप इसका इस्तेमाल करते हैं।


डे के लिए डेबियन आधारित मानक का कोई भी उल्लेख नहीं किया गया है, इसकी डेबियन अल्मकीस्ट शैल dash इसकी पूरी तरह से POSIX आज्ञाकारी है और इसका एक बहुत तेज़ स्टार्टअप है, यही वजह है कि डेबियन / उबंटू इसे /bin/sh लिए उपयोग करते हैं

इसलिए मैं अपने इंटरेक्टिव शेल के लिए bash उपयोग करता हूं, लेकिन केवल स्क्रिप्टिंग के लिए dash इस तरह से मुझे पता है कि मेरी स्क्रिप्ट कम से कम पॉसिक्स के अनुरूप हैं, और किसी भी अन्य POSIX खोल पर चलेंगे। ... मुझे पता है कि पोर्टेबिलिटी खोल से ज्यादा है, लेकिन मैं जहां रेखा खींचता हूं


सबसे आम खोल, अब तक, लिनक्स पर बैश है। जब तक आपके पास वैकल्पिक विकल्प का उपयोग करने का कोई अच्छा कारण नहीं है, तो मैं सुझाव देता हूं कि आपकी प्रोजेक्ट टीम द्वारा बाश के साथ चिपका या सबसे अधिक इस्तेमाल किया जाने वाला शॉल (या आपके साथ काम करने वाले कई शेल स्क्रिप्ट्स) उपयोग करता है

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

यह वास्तव में व्यक्तिगत प्राथमिकता है, ठीक है, सीएसएच को छोड़कर।


मछली (मैत्रीपूर्ण इंटरैक्टिव शैल) अन्य गोलों के अधिकांश के लिए एक अच्छा विकल्प है। इसमें एक सुसंगत वाक्यविन्यास, अच्छा टैब पूरा करना और सिंटैक्स हाइलाइट करना है, पिकअप और उपयोग करने में आसान है (विशेषकर यदि आपके पास अन्य गोले की आदत नहीं है), और उत्कृष्ट रनटाइम सहायता है

नकारात्मक पक्ष यह है कि यह गलत तरीके से विकसित किया गया है, एक छोटा (लेकिन उपयोगी) उपयोगकर्ता आधार है, और अन्य गोले से बहुत अलग है। शूल मुहावरों के साथ पीछे की संगतता प्राथमिकता नहीं थी।

कई मामलों में यह अच्छा है ... कई मानक गोले वास्तव में काम करने के बेवकूफ तरीके हैं, सिर्फ इसलिए कि हमेशा ऐसा ही किया जाता है "कर / किया", "केस / ईएसएसी", "अगर / फाई"? यह पागलपन है कि मछली दूर से दूर करता है

यह देखने लायक है


एक का चयन करें: a टीसीएस बी केश सी zsh डी लॉगिन ई दे घुमा के

मैं लॉगिन का उपयोग करेगा मैं तो बस कह रहा हूं।


मुझे लगता है कि फिश सबसे अच्छा है, सिंटैक्स हाइलाइटिंग है (कमांड के लिए जो मौजूद नहीं है) और यह स्वत: भरण कर सकता है और यह जानने के लिए बहुत आसान है


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

bash इंटरैक्टिव सत्रों के लिए मेरी प्राथमिकता है, लेकिन यह किसी अन्य चीज़ की तुलना में निजी प्राथमिकता का मामला है। बस यह सुनिश्चित करें कि यह एक बोर्न-प्रकार खोल है





shell