角かっこを含むURLをcurlに渡そうとすると、エラーが発生して失敗します。
$ 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
私の質問は、一般的なケースでこれを修正する方法ですか?URLを自動的にエスケープする引数、またはcurlに渡す前にエスケープする必要がある文字の説明はありますか?