Si j'essaie de passer une URL à curl qui contient des crochets, elle échoue avec une erreur:
$ curl 'http://www.google.com/?TEST[]=1'
curl: (3) [globbing] illegal character in range specification at pos 29
Cependant, si j'échappe aux deux crochets, cela semble fonctionner:
$ curl 'http://www.google.com/?TEST\[\]=1'
Fait intéressant, j'utilise une barre oblique inverse pour n'échapper que le premier support qu'il échoue silencieusement avec le code d'erreur 20497:
$ curl 'http://www.google.com/?TEST\[]=1'
$ echo $!
20497
Ma question est de savoir comment résoudre ce problème pour les cas généraux? Existe-t-il un argument qui échappera automatiquement aux URL ou une description des caractères à échapper avant de passer à curl?
curl -L -o <local_file_name> -g <url>
Globbing utilise des crochets, d'où la nécessité de les échapper avec une barre oblique
\
. Alternativement, le commutateur de ligne de commande suivant désactivera la globalisation:--globoff
(ou la version courte-options:-g
)Ex:
la source