ग्रेग के विकी के पास डैश के लिए बॅश स्क्रिप्ट को एडॉप्ट करने की एक पोस्ट है जो बहुत सारे 'बैशीज़' को इंगित करती है - अतिरिक्त विशेषताएं जो गैर-मानक हैं, लेकिन बैश का एक हिस्सा हैं। उन बशीरों से बचना आपकी लिपि को विभिन्न वातावरणों के अनुकूल बनाने में मदद कर सकता है। यह विशेष रूप से आपके कुछ सवालों के जवाब देता है। उदाहरण के लिए, हाँ, ऐसे ऑपरेटर हैं जो भिन्न (जैसे ==
) हैं, लेकिन एक मानक पॉज़िक्स सेट हैं जो सभी वातावरणों में काम करना चाहिए।
अधिक पूरी तरह से पढ़ने के लिए, आप पॉज़िक्स मानक की जांच कर सकते हैं , जिसे सभी शेल को अनुपालन करना चाहिए। विशेष रूप से, "शेल एंड यूटिलिटीज" पर वॉल्यूम।
शेल अंतरों की तुलना में मुझे जो अधिक चुनौतीपूर्ण लगता है वह है कमांड अंतर। कई लिनक्स सिस्टम में जीएनयू होता है find
, लेकिन यदि आप एक पोर्टेबल स्क्रिप्ट लिख रहे हैं, तो अपने आप पर भरोसा न करें man find
, क्योंकि बीएसडी के साथ बहुत सारे सिस्टम हैं find
, जिसमें एक अलग सुविधा सेट है। यदि आप बिजीबॉक्स के लिए स्क्रिप्ट लिख रहे हैं, तो आप पाएंगे कि विभिन्न संस्करण पूरी तरह से अलग-अलग हैं nc
। वे चीजें हैं जो मुझे हमेशा मिलती हैं जब मैं अलग-अलग वातावरणों में एक स्क्रिप्ट को तैनात करता हूं।
अच्छी शेल स्क्रिप्टिंग प्रथाओं पर अतिरिक्त पढ़ने के लिए, डेविड पशले के ब्लॉग पर भी एक अच्छा संसाधन है: रोबस्ट बैश वीथ राइटिंग
इसके अलावा, सुनिश्चित करें कि आपने इस साइट पर गिल्स के उत्तर और टिप्पणियां पढ़ी हैं । आपके पास पोर्टेबल कोड का उपयोग करने के बारे में बहुत सारी युक्तियां हैं।