Si intento pasar una URL a curl que contiene corchetes, falla con un error:
$ curl 'http://www.google.com/?TEST[]=1'
curl: (3) [globbing] illegal character in range specification at pos 29
Sin embargo, si escapo de ambos corchetes, parece funcionar:
$ curl 'http://www.google.com/?TEST\[\]=1'
Curiosamente, uso una barra invertida para escapar solo del primer paréntesis que falla en silencio con el código de error 20497:
$ curl 'http://www.google.com/?TEST\[]=1'
$ echo $!
20497
Mi pregunta es cómo solucionar esto para casos generales. ¿Existe un argumento que escapará de las URL automáticamente, o una descripción de los caracteres que deben escaparse antes de pasar a curl?
curl -L -o <local_file_name> -g <url>
Globbing usa corchetes, de ahí la necesidad de escapar de ellos con una barra
\
. Alternativamente, el siguiente interruptor de línea de comandos deshabilitará el globbing:--globoff
(o la versión corta-opción:-g
)Ex:
fuente