
Eu simplesmente não consigo entender por que todas as minhas tentativas falharam. Tento usar curl para enviar solicitação POST com json para um URL específico quando um caminho para JSON é definido como variável:
#!/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
Tudo o que eu tentei (colocar "@${JSON_TMP}"
ou "@$JSON_TMP"
qualquer @"${JSON_TMP}"
outra coisa) simplesmente não parece funcionar!
O que é mais irritante é que não há nenhuma mensagem de erro ou algo assim - apenas executo o comando e recebo o prompt novamente. Do outro lado, posso ver que nenhum json foi enviado.
Responder1
Os seguintes trabalhos:
body_arg=(--data-binary @${filePath})
curl -X POST -H "Content-Type: application/json" "${body_arg[@]}" http://some-url
Responder2
curl -X POST -i -H "Accept: application/json" -H "Content-Type: application/json" --data-binary --data-binary @${JSON_TMP} http://some-url
Tente remover aspas duplas em @${JSON_TMP}