0

我有一个使用 curl 将文件发送到我们的第三方云文件存储的脚本。

我正在使用 grep 提取在 http 响应中提供给我的 URL

看起来像这样

curl -X PUT -T media/file.tar.gz -D - \
     -H "ETag: ${md5}" \
     -H "Content-Type: application/x-gzip" \
     -H "${AuthToken}" \
     -H "X-Object-Meta-Date: ${today}" \
     "${StorageUrl}/dp/file1.tar.gz"

然后我在 url 上收到一个错误的请求,打印出来就像

'PUT /v1/MossoCloudFS100213=123-123-1233a-ss9\r/dp/file1.tar.gz'

看到在我的变量和 /dp/ 之间注入了令人讨厌的 \r 吗?

4

1 回答 1

2

我猜你$StorageUrl从网络请求中获得了价值,并且网络响应行以 CRLF 结尾(网络标准通常要求 CRLF 行结尾)。外壳为您删除了 LF(换行符),但没有删除 CR(\r,回车)。在使用 URL 之前,您可能需要自己处理这些问题。

于 2012-04-27T16:42:30.740 回答