मैं एक कॉर्न-शैल अनुभवी हूं, इसलिए पता है कि मैं उस परिप्रेक्ष्य से बात करता हूं।
हालांकि, मैं बोर्न शैल, ksh88, और ksh93 के साथ सहज हूं, और मुझे पता है कि कौन सी विशेषताओं का समर्थन किया जाता है।
इंटरैक्टिव उपयोग के लिए, जो भी आपकी आवश्यकता के अनुरूप है ले लो। प्रयोग। मैं इंटरैक्टिव उपयोग और प्रोग्रामिंग के लिए एक ही खोल का उपयोग करने में सक्षम होना पसंद करता हूं।
मैं एसवीआर 2 से टीसीएसएच, ksh88sun और ksh93 पर ksh88 से चला गया। मैंने बैश की कोशिश की, और ने इससे नफरत की क्योंकि यह मेरे इतिहास को चपटा। फिर मैंने
shopt -s lithist
और सभी अच्छी तरह से खोजे। (Lithist विकल्प भरोसा दिलाते हैं कि नई-पंक्तियों अपने आदेश में इतिहास संरक्षित कर रहे हैं।)
खोल प्रोग्रामिंग के लिए, मैं गंभीरता से, ksh93 की सलाह देते हैं कई आम यूनिक्स के रूप में यदि आप एक सुसंगत प्रोग्रामिंग भाषा, अच्छा POSIX अनुरूपता, और अच्छा प्रदर्शन करना चाहता हूँ आदेश बिल्टिन फ़ंक्शंस के रूप में उपलब्ध हो सकते हैं।
यदि आप पोर्टेबिलिटी कम से कम दोनों का उपयोग करना चाहते हैं। और सुनिश्चित करें कि आपके पास एक अच्छा परीक्षण सूट है।
गोले के बीच कई सूक्ष्म अंतर हैं। उदाहरण के लिए पाइप से पढ़ने के लिए विचार करें:
b=42 && echo one two three four |
read a b junk && echo $b
इससे अलग-अलग गोले में अलग-अलग परिणाम मिलेंगे। कॉर्न-शैल पाइपलाइनों को पीछे से आगे चलाता है; पाइपलाइन में अंतिम तत्व वर्तमान प्रक्रिया में चलता है।
स्थिरता का वर्णन करने वाला एक और उदाहरण: echo
कमांड स्वयं, जिसे बीएसडी और एसवाईएसवी यूनिक्स के बीच विभाजन द्वारा अप्रचलित बनाया गया था, और प्रत्येक ने न्यूलाइन (और अन्य व्यवहार) को मुद्रित करने के लिए अपना स्वयं का सम्मेलन पेश किया। इसका परिणाम अभी भी कई 'कॉन्फ़िगर' स्क्रिप्ट में देखा जा सकता है।
KSH कि करने के लिए एक कट्टरपंथी दृष्टिकोण लिया - और print
आदेश, जो वास्तव में गंभीर सिस्टम प्रोग्रामिंग मैं के लिए, दोनों तरीकों (BSD से -n
विकल्प, और SysV से पीछे चल \c
विशेष वर्ण) का समर्थन करता है
हालांकि शुरू की एक खोल के अलावा कुछ अन्य की सिफारिश करें, जैसे पायथन, perl। या इसे एक कदम आगे ले जाएं, और कठपुतली जैसे प्लेटफ़ॉर्म का उपयोग करें - जो आपको अच्छी ऑडिटिंग के साथ सिस्टम के पूरे क्लस्टर की स्थिति को देखने और सही करने की अनुमति देता है।
शैल प्रोग्रामिंग अनचाहे पानी, या बदतर में तैराकी की तरह है।
किसी भी भाषा में प्रोग्रामिंग को इसके वाक्यविन्यास, इसके इंटरफेस और व्यवहार के साथ परिचितता की आवश्यकता होती है। शैल प्रोग्रामिंग कोई अलग नहीं है।
यदि आप केवल न्यूनतम-आम-denominator ksh कर रहे हैं, तो मैं सहमत होगा। दूसरी ओर, वास्तविक डेविड कॉर्न ksh93, स्क्रिप्टिंग के लिए आकर्षक फायदे हैं: गति जो पाठ प्रसंस्करण के लिए 'awk' के पास रखती है; देशी फ्लोटिंग पॉइंट गणित; सिस्टम पर भी नामकरण और सहयोगी सरणी नवीनतम रिलीज नहीं चला रहे हैं; इत्यादि –