मुझे नहीं लगता कि यह आपके फ़ंक्शन के साथ एक समस्या है (या, अधिक सटीक रूप से, मुझे नहीं लगता कि यह एक समस्या है जिसे आप अपने फ़ंक्शन में हल कर सकते हैं)। इससे पहले कि यह आपके फ़ंक्शन को कॉल करता है, bash कमांड लाइन (कोटेड स्ट्रिंग्स, विभिन्न ब्रैकेट एक्सप्रेशंस आदि की व्याख्या सहित) करता है अपने फ़ंक्शन को कॉल करने का निर्णय लेता है । इसलिए जब आप कुछ पसंद करते हैं gc fixed Greg's bug
, बैश की आवश्यकता होगी कि आप फंक्शन को निष्पादित करने से पहले उद्धृत स्ट्रिंग बंद कर दें; जब आप टाइप करें gc printf("%s", integervar) not a good idea
, बैश कोष्ठक के बारे में शिकायत करेंगे और कभी भी यह तय करने की बात तक नहीं करेंगे कि क्या आदेश / कार्य / जो भी अनुरोध किया जा रहा था।
मैं उपयोग करने की बात मानता हूं $*
कमांड लाइन पर मेमो को उद्धृत करने से बचने के लिए था, लेकिन यह केवल संदेश में रिक्त स्थान रखने से बचा जाता है। यदि संदेश में अन्य शेल मेटाचैकर हैं, तो आप जरूर उन्हें उचित रूप से उद्धृत या बचाना:
gc "fixed Greg's bug"
gc 'printf("%s", integervar) not a good idea'
gc 'fixed this & deferred that'