How do I add a variable to this curl command?
Clash Royale CLAN TAG#URR8PPP
I have a curl command that sends a string of text to the server and I've been trying to figure out how to either have the string of text come from a file or from a bash variable. The command looks like this:
curl -X POST -u "apikey:<apikey>"
--header "Content-Type: application/json"
--data '"text": "<variable>"'
"<url>"
I can't figure out how to get a variable in there. I've tried replacing with $variable and $(< file) but I don't know how to get those to spit out text without an echo and I can't echo in a curl.
linux bash curl
add a comment |
I have a curl command that sends a string of text to the server and I've been trying to figure out how to either have the string of text come from a file or from a bash variable. The command looks like this:
curl -X POST -u "apikey:<apikey>"
--header "Content-Type: application/json"
--data '"text": "<variable>"'
"<url>"
I can't figure out how to get a variable in there. I've tried replacing with $variable and $(< file) but I don't know how to get those to spit out text without an echo and I can't echo in a curl.
linux bash curl
add a comment |
I have a curl command that sends a string of text to the server and I've been trying to figure out how to either have the string of text come from a file or from a bash variable. The command looks like this:
curl -X POST -u "apikey:<apikey>"
--header "Content-Type: application/json"
--data '"text": "<variable>"'
"<url>"
I can't figure out how to get a variable in there. I've tried replacing with $variable and $(< file) but I don't know how to get those to spit out text without an echo and I can't echo in a curl.
linux bash curl
I have a curl command that sends a string of text to the server and I've been trying to figure out how to either have the string of text come from a file or from a bash variable. The command looks like this:
curl -X POST -u "apikey:<apikey>"
--header "Content-Type: application/json"
--data '"text": "<variable>"'
"<url>"
I can't figure out how to get a variable in there. I've tried replacing with $variable and $(< file) but I don't know how to get those to spit out text without an echo and I can't echo in a curl.
linux bash curl
linux bash curl
edited Mar 3 at 7:25
Rui F Ribeiro
41.8k1483142
41.8k1483142
asked Mar 3 at 7:22
NelloDrawsNelloDraws
384
384
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
Stop the single quoted string, follow with the variable expansion, posibly double quoted, and resume the single quoted string:
--data '"text": "'"$variable"'"'
($variable
should still expand to something that together with the surroundings forms legal JSON, or else the other side probably won't be very happy :) .)
3
This works thanks! And in hindsight it makes sense
– NelloDraws
Mar 3 at 7:38
add a comment |
Just to put one more solution here:
curl -X POST -u "apikey:$apikey"
--header "Content-Type: application/json"
--data ""text": "$variable""
"$url"
Basically, "
is a quote to handle the following string together, "
escapes the quote, and $varname
is a variable.
add a comment |
I tend to use heredocs when building JSON for use with curl:
curl -s -X POST $URL -d@- <<EOF
[
"id": 101,
"text": "$variable"
]
EOF
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f504057%2fhow-do-i-add-a-variable-to-this-curl-command%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
Stop the single quoted string, follow with the variable expansion, posibly double quoted, and resume the single quoted string:
--data '"text": "'"$variable"'"'
($variable
should still expand to something that together with the surroundings forms legal JSON, or else the other side probably won't be very happy :) .)
3
This works thanks! And in hindsight it makes sense
– NelloDraws
Mar 3 at 7:38
add a comment |
Stop the single quoted string, follow with the variable expansion, posibly double quoted, and resume the single quoted string:
--data '"text": "'"$variable"'"'
($variable
should still expand to something that together with the surroundings forms legal JSON, or else the other side probably won't be very happy :) .)
3
This works thanks! And in hindsight it makes sense
– NelloDraws
Mar 3 at 7:38
add a comment |
Stop the single quoted string, follow with the variable expansion, posibly double quoted, and resume the single quoted string:
--data '"text": "'"$variable"'"'
($variable
should still expand to something that together with the surroundings forms legal JSON, or else the other side probably won't be very happy :) .)
Stop the single quoted string, follow with the variable expansion, posibly double quoted, and resume the single quoted string:
--data '"text": "'"$variable"'"'
($variable
should still expand to something that together with the surroundings forms legal JSON, or else the other side probably won't be very happy :) .)
edited Mar 3 at 7:37
answered Mar 3 at 7:30
PSkocikPSkocik
18.4k553100
18.4k553100
3
This works thanks! And in hindsight it makes sense
– NelloDraws
Mar 3 at 7:38
add a comment |
3
This works thanks! And in hindsight it makes sense
– NelloDraws
Mar 3 at 7:38
3
3
This works thanks! And in hindsight it makes sense
– NelloDraws
Mar 3 at 7:38
This works thanks! And in hindsight it makes sense
– NelloDraws
Mar 3 at 7:38
add a comment |
Just to put one more solution here:
curl -X POST -u "apikey:$apikey"
--header "Content-Type: application/json"
--data ""text": "$variable""
"$url"
Basically, "
is a quote to handle the following string together, "
escapes the quote, and $varname
is a variable.
add a comment |
Just to put one more solution here:
curl -X POST -u "apikey:$apikey"
--header "Content-Type: application/json"
--data ""text": "$variable""
"$url"
Basically, "
is a quote to handle the following string together, "
escapes the quote, and $varname
is a variable.
add a comment |
Just to put one more solution here:
curl -X POST -u "apikey:$apikey"
--header "Content-Type: application/json"
--data ""text": "$variable""
"$url"
Basically, "
is a quote to handle the following string together, "
escapes the quote, and $varname
is a variable.
Just to put one more solution here:
curl -X POST -u "apikey:$apikey"
--header "Content-Type: application/json"
--data ""text": "$variable""
"$url"
Basically, "
is a quote to handle the following string together, "
escapes the quote, and $varname
is a variable.
edited Mar 3 at 20:03
ilkkachu
62.8k10103180
62.8k10103180
answered Mar 3 at 18:58
NyosNyos
15113
15113
add a comment |
add a comment |
I tend to use heredocs when building JSON for use with curl:
curl -s -X POST $URL -d@- <<EOF
[
"id": 101,
"text": "$variable"
]
EOF
add a comment |
I tend to use heredocs when building JSON for use with curl:
curl -s -X POST $URL -d@- <<EOF
[
"id": 101,
"text": "$variable"
]
EOF
add a comment |
I tend to use heredocs when building JSON for use with curl:
curl -s -X POST $URL -d@- <<EOF
[
"id": 101,
"text": "$variable"
]
EOF
I tend to use heredocs when building JSON for use with curl:
curl -s -X POST $URL -d@- <<EOF
[
"id": 101,
"text": "$variable"
]
EOF
answered Mar 3 at 20:20
Roger LipscombeRoger Lipscombe
816825
816825
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f504057%2fhow-do-i-add-a-variable-to-this-curl-command%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown