Envie JSON usando curl do script bash quando o caminho JSON for fornecido como variável

Envie JSON usando curl do script bash quando o caminho JSON for fornecido como variável

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}

informação relacionada