2012-07-05 3 views
7

में मुझे कोई समस्या नहीं है (पाइथन लक्ष्य प्रणाली में स्थापित नहीं है) जब डेब पैकेज प्रवाह नियंत्रण के लिए पायथन का उपयोग करते हैं स्क्रिप्ट (preinst, postinst, आदि)। क्या पाइथन में उन स्क्रिप्ट को लागू करना व्यावहारिक होगा, श में नहीं?क्या यह पाइथन में डेब प्रीइंस्ट, पोस्टिंट इत्यादि को लागू करने के लिए व्यावहारिक होगा, sh

जैसा कि मैं समझता हूं कि यह कम से कम संभव है।

+0

आप किसी भी भाषा का उपयोग तब तक कर सकते हैं जब तक कि प्रीइंस्ट या जो कुछ भी निष्पादन योग्य हो। यह उचित हैशबैंग या संकलित सी प्रोग्राम के साथ 'chmod + x'ed स्क्रिप्ट हो सकता है। – C0deH4cker

+0

सीसी को एक स्क्रिप्टिंग लैंगेज के रूप में संकलित करने के लिए टीसीसी;) –

+0

आप कर सकते हैं, लेकिन आप क्यों? 'sh' यह बहुत अच्छा है जितना यह करता है, जो विभिन्न कार्यक्रमों को कॉल करने के लिए एक गोंद भाषा है। फ्लो कंट्रोल स्क्रिप्ट्स में बहुत अधिक तर्क नहीं है, यहां तक ​​कि गणना भी नहीं - यह ज्यादातर फाइलें ले जा रही है, अनुमतियों को बदल रही है, सिम्लिंक बना रही है ... – cha0site

उत्तर

6

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

यह इस तरह की स्थिति में सम्मेलन का पालन करने में मदद कर सकता है, क्योंकि बहुत सारे सहायक उपकरण और स्क्रिप्ट्स (उदाहरण के लिए, लिंटियन, डेबेलर) हैं जो आमतौर पर मानते हैं कि रखरखाव स्क्रिप्ट बैश का उपयोग करती हैं। यदि वे नहीं करते हैं, तो यह ठीक है, लेकिन वे उपकरण उतना उपयोगी नहीं हो सकते जितना कि वे अन्यथा होंगे। एकमात्र अन्य मुद्दा जो मुझे लगता है कि आपको इसके बारे में पता होना चाहिए कि यदि आपकी preinst या postrm स्क्रिप्ट को पायथन की आवश्यकता है, तो पाइथन को केवल Depends के बजाय आपके पैकेज की पूर्व-निर्भरता (Pre-Depends) होने की आवश्यकता है।

उस ने कहा, मुझे पाइथन को पहले एक रखरखाव स्क्रिप्ट में उपयोग करने में उपयोगी पाया गया है।

+0

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

+4

यह एक और वैध मुद्दा लाता है; यदि आप एक विशिष्ट पायथन संस्करण को लक्षित करते हैं, तो आप सभी मौजूदा लोकप्रिय डेबियन-आधारित ओएस का समर्थन नहीं कर पाएंगे। उदाहरण के लिए, सबसे पुराना उबंटू एलटीएस रिलीज (8.04) केवल पायथन 2.5 का समर्थन करता है, जबकि उबंटू 10.04 केवल पायथन 2.6 का समर्थन करता है, और उबंटू 12.04 केवल पायथन 2.7 का समर्थन करता है। लेकिन अगर आप संगत पायथन लिख सकते हैं (वास्तव में यह मुश्किल नहीं है), तो आपको ठीक होना चाहिए। –

संबंधित मुद्दे