वर्तमान में मैं एक Bash स्क्रिप्ट लिख रहा हूं जिसमें निम्नलिखित आवश्यकताएं हैं:
- यह यूनिक्स / लिनक्स प्लेटफार्मों की एक विस्तृत विविधता पर चलना चाहिए
- इसे छोटे और (GNU) लंबे विकल्पों का समर्थन करना चाहिए
मुझे पता है कि getopts
पोर्टेबिलिटी के मामले में यह पसंदीदा तरीका होगा लेकिन AFAIK यह लंबे विकल्पों का समर्थन नहीं करता है।
getopt
लंबे विकल्पों का समर्थन करता है, लेकिन बैशगाइड इसके खिलाफ दृढ़ता से अनुशंसा करता है:
कभी भी गेटअप (1) का उपयोग न करें। getopt खाली तर्क तार, या एम्बेडेड व्हाट्सएप के साथ तर्क नहीं संभाल सकता है। कृपया भूल जाएं कि यह कभी अस्तित्व में था।
तो, अभी भी मैनुअल पार्सिंग का विकल्प है। यह त्रुटि-प्रवण है, कुछ बॉयलरप्लेट कोड का उत्पादन करता है, और मुझे खुद से त्रुटियों को संभालने की आवश्यकता है (मुझे लगता है getopt(s)
कि त्रुटि-हैंडलिंग खुद से करते हैं)।
तो, इस मामले में पसंदीदा विकल्प क्या होगा?