如果我尝试将包含括号的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之前需要转义的字符的描述?