उपविशेषों पर प्रकाश डालते हुए बैश वाक्य रचना


13

बड़ी मात्रा में प्रश्नों को ध्यान में रखते हुए, जो बश में उप-श्रेणियों से संबंधित हैं ("इस पाइप्ड while readलूप में मेरी चर वृद्धि क्यों नहीं होती है ?"), मैंने अभी सोचा कि किसी संपादक या सेवा को संदर्भित करना बहुत अच्छा होगा जहां कोड जो उप-श्रेणियों में निष्पादित किया जाएगा, उन्हें मूल शेल में निष्पादित कोड से अलग स्वरूपित किया जाएगा। यह एक शैक्षिक उपकरण के रूप में उपयोगी हो सकता है (बीच code | codeऔर code < <(code)तुरन्त अंतर देखें )। क्या यह मौजूद है?

बोनस अंक यदि कोई इसे jEdit या VIm के लिए लागू करता है।

जाहिर है कि यह बिल्कुल सही नहीं है (कोई सिंटैक्स हाइलाइटिंग मेरे अनुभव में नहीं है), लेकिन मुझे चीजों पर संदेह है (foo=bar; echo $foo;)और command | while read ...शुरुआत के लिए बहुत मुश्किल नहीं होना चाहिए।


मुझे यकीन है कि आप इसे vimहाइलाइटिंग कोड में जोड़ सकते हैं ।
केविन

2
@ केविन: सवाल यह है कि क्या यह पहले से मौजूद है, किसी भी रूप में। यह निश्चित रूप से किसी भी संपादक को जोड़ा जा सकता है जो ट्यूरिंग-पूर्ण हाइलाइटिंग सिस्टम का समर्थन करता है।
l0b0

1
पाइप जबकि पाश के मामले में, POSIX माता-पिता में पाइप कार्यान्वित का कौन सा हिस्सा निर्दिष्ट नहीं है, तो एक शिक्षण उपकरण, इस हाइलाइटिंग के रूप में, अगर यह अस्तित्व, लोगों को पढ़ाने :( गैर पोर्टेबल शेल स्क्रिप्ट लिखने के लिए होगा
जेम्स यंगमैन

@JamesYoungman: इसे बैश-विशिष्ट बनाने का एक और कारण :)
l0b0

जवाबों:


2

मुझे नहीं लगता कि यह मौजूद है। यह उपयोगी होगा, लेकिन संपादकों में प्रयुक्त वाक्यविन्यास पार्सिंग के मानक साधनों द्वारा लागू करना कठिन है। पार्सिंग के दृष्टिकोण से, कई कीवर्ड और विशेष प्रतीक हैं जिनका कोड के एक ब्लॉक को निर्धारित करने के लिए विश्लेषण करना होगा जो एक उपधारा से संबंधित है।

लेकिन मुझे यह देखकर खुशी होगी कि मैं गलत हूं और किसी ने ऐसे कॉन्फ़िगरेशन बनाने के लिए आवश्यक प्रयास किए हैं।


0

मेरा विम पहले से ही ऐसा करता है।

यह वास्तव में मुझे परेशान करता है, क्योंकि यह उपधाराओं के अंदर टिप्पणियों का कारण बनता है ताकि उचित हाइलाइट लागू न हो सके।

यहाँ छवि विवरण दर्ज करें

यह स्रोत से संकलित विम 7.3 पैच 874 है।


कभी-कभी मैं फ़िल्टाइप सेट करता zshहूं, जब मैं एक सबशेल के भीतर काम कर रहा होता हूं। यह सिंटैक्स हाइलाइटिंग को सही करता है।

OMG जो एकदम सही है। धन्यवाद!! मुझे इस पूरे विशाल खंड को (कई टिप्पणियों के साथ) set -x; set -eउपधारा के अंदर रखना होगा ताकि मैं उस अनुभाग पर कर सकूं । और उस आउटपुट को स्टोडर सहित सभी को एक लॉग में कैप्चर करने के लिए।
स्टीवन लू

1
मुझे उप-प्रारूप में कोई प्रारूपण दिखाई नहीं देता है , जो बहुत उपयोगी नहीं लगता है। या यह सिर्फ स्क्रीनशॉट से गायब है?
l0b0

चर सेट और trapकीवर्ड को वहां हाइलाइट किया गया है। यह सिर्फ टिप्पणियों को उजागर करने में विफल रहा। zsh फ़ाइल प्रकार हालांकि काम करता है। अब, जहां तक ​​मुख्य शेल से उप शेल को अलग करना है, (जो आखिरकार आप चाहते थे कि मुझे लगता है), अच्छी तरह से ....... कुछ टिप्पणियों का उपयोग करें?
स्टीवन लू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.