我正在尝试传递不记名令牌(变量 $token)以通过curl 命令调用作业。但是 -H 之后的单引号不允许变量 $token 的值传递给curl 命令。
curl -X POST 'https://server.domain.com/v2/jobs/28723316-9373-44ba-9229-7c796f21b099/runs?project_id=aff59748-260a-476e-9578-b4f4a93e7a92' -H 'Content-Type: application/json' -H 'Authorization: Bearer $token -d { "job_run": {} }'
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
{“code”:400,“error”:“错误请求”,“reason”:“承载令牌格式无效。预期:'Bearer'。收到:'Bearer $token -d {“job_run”:{} }' .","message":"承载令牌无效。"}
我尝试使用变量 $token 添加转义字符:
curl -X POST 'https://server.domain.com/v2/jobs/28723316-9373-44ba-9229-7c796f21b099/runs?project_id=aff59748-260a-476e-9578-b4f4a93e7a92' -H 'Content-Type: application/json' -H 'Authorization: Bearer "\$token\" -d { "job_run": {} }'
Run Code Online (Sandbox Code Playgroud)
我收到相同的错误:{“code”:400,“error”:“错误请求”,“reason”:“承载令牌格式无效。预期:'承载'。收到:'承载“\ $令牌\” - d { "job_run": {} }'.","message":"承载令牌无效。"}
我也尝试了双引号,已经几个小时了,我无法提取单引号内的变量值 $token。
有人可以帮忙并给我正确的语法吗?
提前致谢
use*_*001 10
这里的问题是引号。应该是这样的:
curl -X POST 'https://server.domain.com/v2/jobs/28723316-9373-44ba-9229-7c796f21b099/runs?project_id=aff59748-260a-476e-9578-b4f4a93e7a92' -H 'Content-Type: application/json' -H "Authorization: Bearer $token" -d '{ "job_run": {} }'
Run Code Online (Sandbox Code Playgroud)
在多行中:
curl -X POST 'https://server.domain.com/v2/jobs/28723316-9373-44ba-9229-7c796f21b099/runs?project_id=aff59748-260a-476e-9578-b4f4a93e7a92' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $token" \
-d '{ "job_run": {} }'
Run Code Online (Sandbox Code Playgroud)
具体来说,bash 中的变量在单引号 ( ) 中时不会进行插值'。因此,我们将动态字符串设置在双引号 ( ")内
-H "Authorization: Bearer $token"
Run Code Online (Sandbox Code Playgroud)
此外,-H和-d参数是不同的,它们应该单独引用,在您的代码中,您将它们组合在一个参数中。
| 归档时间: |
|
| 查看次数: |
8961 次 |
| 最近记录: |