
왜 모든 시도가 실패했는지 이해할 수 없습니다. JSON에 대한 경로가 변수로 정의된 경우 컬을 사용하여 JSON과 함께 POST 요청을 특정 URL로 보내려고 합니다.
#!/bin/sh
JSON_TMP=/home/aaa/jsons/make_6h_from_1h.json
curl -X POST -H "Content-Type: application/json" --data-binary "@${JSON_TMP}" http://some-url
내가 시도한 것(넣거나 "@${JSON_TMP}"
또는 "@$JSON_TMP"
기타 @"${JSON_TMP}"
무엇이든)이 작동하지 않는 것 같습니다!
더 짜증나는 점은 오류 메시지 등이 없다는 것입니다. 명령을 실행하고 다시 프롬프트가 표시됩니다. 다른 쪽에서는 json이 전송되지 않은 것을 볼 수 있습니다.
답변1
다음은 작동합니다:
body_arg=(--data-binary @${filePath})
curl -X POST -H "Content-Type: application/json" "${body_arg[@]}" http://some-url
답변2
curl -X POST -i -H "Accept: application/json" -H "Content-Type: application/json" --data-binary --data-binary @${JSON_TMP} http://some-url
@${JSON_TMP}에서 큰따옴표를 제거해 보세요.