Следующая команда работает в GNU Bash на FreeBSD, но не в Git Bash на Windows:
curl -X PUT https://example.com/_config/cors/origins -d '"*"'
Предполагаемый результат - отправить запрос PUT
на https://example.com/_config/cors/origins
с телом "*"
(включая кавычки - это строка JSON).
Однако в Windows звездочка расширяется как глобус, даже если она находится в кавычках. Выдержка из --trace-ascii
cURL:
0000: PUT /_config/cors/origins HTTP/1.1 004f: User-Agent: curl/7.30.0 008e: Content-Length: 13 00a2: Content-Type: application/x-www-form-urlencoded 00d3: => Send data, 13 bytes (0xd) 0000: .editorconfig == Info: upload completely sent off: 13 out of 13 bytes
(.editorconfig
- это первый файл в текущем каталоге.)
Выход с обратной косой чертой ('"\*"'
) передает обратную косую черту:
0000: PUT /_config/cors/origins HTTP/1.1 004f: User-Agent: curl/7.30.0 008e: Content-Length: 4 00a1: Content-Type: application/x-www-form-urlencoded 00d2: => Send data, 4 bytes (0x4) 0000: "\*" == Info: upload completely sent off: 4 out of 4 bytes
Два обратных слеша также передают оба обратных слеша в запросе.
0000: PUT /_config/cors/origins HTTP/1.1 004f: User-Agent: curl/7.30.0 008e: Content-Length: 5 00a1: Content-Type: application/x-www-form-urlencoded 00d2: => Send data, 5 bytes (0x5) 0000: "\\*" == Info: upload completely sent off: 5 out of 5 bytes
Это ошибка?