यदि मैं URL को कर्ल करने के लिए पास करने का प्रयास करता हूं जिसमें कोष्ठक शामिल हैं, तो यह एक त्रुटि के साथ विफल होता है:
$ curl 'http://www.google.com/?TEST[]=1'
curl: (3) [globbing] illegal character in range specification at pos 29
हालाँकि, अगर मैं दोनों कोष्ठक से बचता हूँ, तो यह काम करता है:
$ curl 'http://www.google.com/?TEST\[\]=1'
दिलचस्प है, मैं केवल पहले ब्रैकेट से बचने के लिए एक बैकस्लैश का उपयोग करता हूं जो त्रुटि कोड 20497 के साथ चुपचाप विफल रहता है:
$ curl 'http://www.google.com/?TEST\[]=1'
$ echo $!
20497
मेरा सवाल यह है कि सामान्य मामलों के लिए इसे कैसे ठीक किया जाए? क्या कोई तर्क है जो URLs से स्वचालित रूप से बच जाएगा, या वर्णों का वर्णन जो कर्ल करने से पहले बच जाना चाहिए?