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?
curl -L -o <local_file_name> -g <url>
Globbing usa colchetes, daí a necessidade de escapar deles com uma barra
\
. Como alternativa, a seguinte opção de linha de comando desabilitará o globbing:--globoff
(ou a versão de curto opção:-g
)Ex:
fonte