क्या कोई जानी-मानी और अच्छी तरह से इस्तेमाल की जाने वाली शेल स्क्रिप्टिंग IDEs Un * x के लिए है?


23

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

उदाहरण के लिए, माइक्रोसॉफ़्ट विंडोज पॉवर्सशेल में पॉवर्सशेल प्लस और पॉवरगुई जैसे आईडीई हैं ।

Googling ने ShellEd का संयोजन लाया , शेल स्क्रिप्ट के संपादन के लिए एक ग्रहण प्लगइन, और BashEclipse , एक बैश डीबगर जो शेलएड के साथ काम करता है; मैंने अभी तक इसकी कोशिश नहीं की है।

इस कॉम्बो के समान Un * x के लिए कोई अन्य शेल स्क्रिप्टिंग IDEs हैं? क्या किसी को उनके साथ कुछ अनुभव है?


10
मैंने नीचा नहीं देखा, लेकिन जिसने भी किया, उसने ऐसा किया क्योंकि आप एक सवाल नहीं पूछ रहे हैं। आपकी पोस्ट के एकमात्र प्रश्न का उत्तर हां / नहीं में दिया जा सकता है। क्या आप वास्तव में पूछ रहे हैं? ये कार्यक्रम कैसे काम करते हैं? वो क्या करते है? आप वास्तव में क्या करने की कोशिश कर रहे हैं?
terdon

10
एक बाश आईडीई? चाय के लिए पानी उबालने का न्यूक्लियर विखंडन ...
जसोनव्रीयन

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

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

1
अमेरिका या यूरोप में विद्युत केटल्स या पर्वतमाला वाले हमारे लिए, हमारे बेसेलॉड विद्युत उत्पादन का एक अच्छा हिस्सा परमाणु ऊर्जा संयंत्रों द्वारा आपूर्ति किया जाता है, इसलिए जब हम चाय के लिए पानी उबालते हैं, तो हम कम से कम आंशिक रूप से, परमाणु विखंडन का उपयोग कर रहे हैं।
एंड्रयू जंके

जवाबों:


14

मैं यह नहीं कहूंगा कि यह या तो अच्छी तरह से जाना जाता है या अच्छी तरह से इस्तेमाल किया जाता है, लेकिन आपको आधारभूत रूप से देखने की आवश्यकता हो सकती है :

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

मुझे यह स्वीकार करना चाहिए कि मेरे पास आधारभूत के साथ कोई अनुभव नहीं है और यहां तक ​​कि एक ग्रहण संस्करण बेमेल के कारण इसे स्थापित करने में विफल रहा।

दूसरी ओर, मैं बैश और ksh93 विशिष्ट डिबगिंग सुविधाओं का उपयोग कर रहा हूं, विशेष रूप से trap ERRऔर trap DEBUGउन पर नहीं बल्कि डीबगर्स उन पर kshdb और bashdb


मुझे यह विडंबना लगती है कि आपका स्क्रीन-शॉट विंडोज-शैली की खिड़की का है।
आजी हैमरथिफ

@NigelNquande ईमानदार होने के लिए, मैं उपयोगकर्ता के लिए आधारभूत (या उस मामले के लिए ग्रहण) नहीं हूं। मैं निश्चित रूप से ksh93 और बैश द्वारा प्रदान की गई डिबगिंग सुविधाओं का उपयोग करता हूं, लेकिन कोई GUI नहीं। यह स्क्रीनशॉट आधारभूत साइट से लिया गया है। यह कुछ बढ़िया विषय या सिर्फ एक वास्तविक विंडोज 7 स्क्रीनशॉट दिया जा सकता है जो OS = "cygwin" पंक्ति में दिया गया है।
जलीगरे

ठीक है, IMO, अगर आप कुछ करने जा रहे हैं, तो इसे बूट के साथ करें, न किbash एक एड (लेकिन यह न तो यहां है और न ही किसी और के लिए है)। जब यह GNU / Linux में पूरी तरह से अच्छी तरह से काम करता है , तो मेरे लिए, Windows पर एक आधा सेड लगता है
एजी हैमरथिफ़

@NigelNquande जैसा कि मैंने लिखा, यह मेरा एक स्क्रीनशॉट नहीं है। किसी भी मामले में, मैं केवल विंडोज़ पर बैश का उपयोग करता हूं जब मेरे पास कोई विकल्प नहीं होता है और cygwinअंतर्निहित ओएस को छिपाने के लिए काफी कुशल होता है।
२०:३३ पर जलीगरे

1
@ user7000 मैंने लिखा और यहां तक ​​कि एक ग्रहण संस्करण बेमेल के कारण इसे स्थापित करने में विफल रहा, लेकिन मुझे याद नहीं है कि ग्रहण संस्करण क्या था। क्या ग्रहण 4.5.2 के साथ काम करने के लिए दस्तावेज किया गया है: sourceforge.net/projects/basheclipse/files/?source=navbar
jlliagre

8

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

पूरी तरह से योग्य स्क्रिप्टिंग भाषाओं (पायथन, पर्ल आदि) के लिए आपके पास यह सब है, लेकिन अन्य कमांड के लिए bash / zsh / ksh / ... इंटरैक्टिव "गोंद" हैं और अपने स्वयं के डिबगर हैं।

हालाँकि, अधिकांश टेक्स्ट एडिटर आपके लिए कोड को हाइलाइट करेंगे, और emacsआपको (सही पैकेज मिलने पर, मुझे ऐसा करने में कोई दिक्कत नहीं होगी, शेल स्क्रिप्ट के लिए) प्रोग्रामेबल कीवर्ड की पूर्ति करें। मेरा मानना viहै कि ऐसा भी कर सकते हैं (कृपया यहां एक फ़्लैमर शुरू न करें)।


2
आप "पूरी तरह से योग्य स्क्रिप्टिंग भाषा" को कैसे परिभाषित करते हैं?
ट्रेवर सुलिवन

1
@TrevorSullivan अपने तरीके से। कृपया, नफरत में मत दीजिए।
Det

1
@Det: यह एक वैध प्रश्न था - यदि हम सभी वाक्यांश की एक सामान्य, ठोस परिभाषा पर सहमत नहीं हो सकते हैं, तो हम इसके बारे में चर्चा नहीं कर सकते हैं। मैं बस उत्सुक हूं कि उस वाक्यांश का क्या मतलब है।
ट्रेवर सुलिवन

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

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

2

मैं भी bash स्क्रिप्ट के लिए IDE का उपयोग करने के विचार का समर्थन करता हूं।

एक ज्यूपिटर नोटबुक का उपयोग करके बैश स्क्रिप्ट लिख सकता है।

ज्यूपिटर नोटबुक को एनाकोंडा के माध्यम से स्थापित किया जा सकता है, जबकि ज्यूपिटर नोटबुक (या जुपाइटरलैब) के लिए बैश कर्नेल को निम्न कमांड ( स्रोत ) के साथ स्थापित किया जा सकता है :

pip install bash_kernel तथा

python -m bash_kernel.install

उसके बाद, आप एनाकोंडा नाविक के एक नए लांचर उदाहरण पर बैश का चयन कर सकते हैं , जैसा कि नीचे दिखाया गया है।

केवल एक चीज यह है कि (जहाँ तक मुझे पता है) यह कमांड के साथ काम नहीं करता है जिसे आपको प्रॉम्प्ट पर इनपुट करना होगा, जैसे कि readया कोई अन्य तर्क जिसे आप स्क्रिप्ट को कॉल करने के बाद पास करते हैं। लेकिन इसके अलावा, यह बहुत अच्छी तरह से काम करता है।

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


1

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

इसलिए मुझे स्क्रिप्ट बनाने के लिए एक ऑनलाइन बैश स्क्रिप्ट टूल मिला, इसे http://bashops.net कहा जाता है , यह ऑनलाइन है, तुरंत किसी भी इंस्टॉलेशन में व्यस्त हुए बिना, बैश स्क्रिप्ट के निर्माण पर काम शुरू कर सकते हैं।


1

Rogalmic के लिए VSCode प्लगइन्स लिखा bashdb और zshdb

वे बैश और zsh के लिए मेरे डिबगर्स पर आधारित हैं , इसलिए वे बहुत सारे किनारे के मामलों को संभालते हैं जो कि बैश के लिए ग्रहण डिबगर का अभाव है।


0

मैं बश्सुपोर्ट प्लगइन के साथ PyCharm सामुदायिक संस्करण का सुझाव देना चाहूंगा । यह intellij intellisense के साथ उत्कृष्ट IDE कार्यक्षमता है।

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