Eu tenho um comando curl que envia uma string de texto para o servidor e estou tentando descobrir como fazer com que a string de texto venha de um arquivo ou de uma variável bash. O comando fica assim:
curl -X POST -u "apikey:<apikey>"
--header "Content-Type: application/json"
--data '{"text": "<variable>"}'
"<url>"
Eu não consigo descobrir como obter uma variável lá. Eu tentei substituir por $variable e $(< file), mas não sei como fazer com que eles cuspam texto sem eco e não consigo ecoar em um curl.
Pare a string entre aspas simples, siga com a expansão da variável, possivelmente aspas duplas, e retome a string entre aspas simples:
(
$variable
ainda deve se expandir para algo que junto com o ambiente forme JSON legal, ou então o outro lado provavelmente não ficará muito feliz :) .)Só para colocar mais uma solução aqui:
Basicamente,
"
é uma citação para manipular a seguinte string em conjunto,\"
escapa da citação e${varname}
é uma variável.Eu costumo usar heredocs ao construir JSON para uso com curl: