不匹配的右大括号/方括号

巴特

我试图在 bash 中执行一个脚本,但是给我这个错误,

curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) unmatched close brace/bracket in URL position 24:
UTC","user_id":"01234"}}

我尝试移除大括号但不起作用,这是行,

response=$(curl  -X POST -H "Authorization: Bearer ${bearer_token}" -H "Content-Type: application/json" -d '{"cursus_user":{"begin_at":"'${start}'","cursus_id":"'${cursus_id}'","end_at":"'${end}'","user_id":"'${user}'"}}' "https://xxxxxx/xxxxxx.com")

有谁知道问题出在哪里?,我被卡住了,在此先感谢。

[ 更新 ]

真的我看不到错误:(

'
{
    "cursus_user":
    {
        "begin_at":     "'${start}'",
        "cursus_id":    "'${cursus_id}'",
        "end_at":       "'${end}'",
        "user_id":      "'${user}'"
    }
}
'
格伦杰克曼

这实际上更像是一个格式化的评论。

两个提示:

  • 使用生成 JSON——它会为你得到正确的所有引用
  • 使用数组提高可读性(我不喜欢水平滚动)
data=$(
    jq  --null-input \
        --compact-output \
        --arg begin_at  "$start" \
        --arg cursus_id "$cursus_id" \
        --arg end_at    "$end" \
        --arg user_id   "$user" \
        '{cursus_user: $ARGS.named}'
)

curl_opts=(
    -X POST
    -H "Authorization: Bearer ${bearer_token}"
    -H "Content-Type: application/json" 
    -d "$data"
)

response=$(curl "${curl_opts[@]}" "https://xxxxxx/xxxxxx.com")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章