2012-04-27 3 views
0

curl을 사용하여 타사 클라우드 파일 저장소에 파일을 보내는 스크립트가 있습니다.bash : 변수를 문자열에 삽입하면 여분이 추가됩니다.

내가

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을 에 잘못된 요청을받을 HTTP 응답에서 나에게 제공되는 URL을 꺼내 GREP을 사용하고 있습니다
'PUT /v1/MossoCloudFS100213=123-123-1233a-ss9\r/dp/file1.tar.gz' 

단지 내 변수와/dp /? 사이에 귀찮게 삽입 된 것을 볼 수 있습니다.

+2

$ {StorageUrl} 자체에 관련없는 \ r을 가지고 계신지 100 % 확신하십니까? – Venge

답변

2

웹 요청에서 $StorageUrl 값을 얻었고 웹 응답 줄이 CRLF로 끝났습니다 (웹 표준은 일반적으로 CRLF 줄 끝이 필요함). 셸에서 CR (newline)을 제거했지만 CR (\r, 캐리지 리턴)은 제거하지 않았습니다. URL을 사용하기 전에 자신을 돌봐야 할 것입니다.

관련 문제