Se eu tentar passar um URL para ondular que contenha colchetes, ele falhará com um erro:
$ curl 'http://www.google.com/?TEST[]=1'
curl: (3) [globbing] illegal character in range specification at pos 29
No entanto, se eu escapar dos dois colchetes, ele parece funcionar:
$ curl 'http://www.google.com/?TEST\[\]=1'
Curiosamente, eu uso uma barra invertida para escapar apenas do primeiro colchete que falha silenciosamente com o código de erro 20497:
$ curl 'http://www.google.com/?TEST\[]=1'
$ echo $!
20497
Minha pergunta é como corrigir isso em casos gerais? Existe um argumento que escapará dos URLs automaticamente ou uma descrição dos caracteres que precisam ser escapados antes de passar para o curl?