Json 如何将上下文路径传递给curl post

Json 如何将上下文路径传递给curl post,json,curl,dynamic,path,Json,Curl,Dynamic,Path,我试图调用一个服务,如下所示,使用Json模板创建一个对象作为服务的输入,该服务需要传递以下{Dynamicvalue}。有人能帮忙吗 Dynamicvalue=$1 curl -k --silent -X POST --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header "$AUTH_HEADER_VALUE" \ -d @"$SLOCAL_FILE" "https:/

我试图调用一个服务,如下所示,使用Json模板创建一个对象作为服务的输入,该服务需要传递以下{Dynamicvalue}。有人能帮忙吗

Dynamicvalue=$1
curl -k --silent -X POST --header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header "$AUTH_HEADER_VALUE" \
-d @"$SLOCAL_FILE" "https://test.com/${1:?}/testapi"
我正在使用Shell脚本

Dynamicvalue是一个不断变化的Appname

我通过如下方式传递Dynamicvalue的值来运行脚本

./testscript.sh invest_domain # Invest_domain is the appname
一旦我运行脚本,
$AUTH\u HEADER\u VALUE
$SLOCAL\u FILE
被正确加载,除了我要传递的参数之外,我会在屏幕上显示以下错误

  Calling testapi service.
testscript.sh:第255行:1:参数为空或未设置


但该值设置如下:Dynamicvalue=$1

只需使用shell变量即可:

#!/bin/bash

dynamicvalue="$1"
AUTH_HEADER_VALUE='...'
LOCAL_FILE='...'

curl -k --silent -X POST --header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header "$AUTH_HEADER_VALUE" \
-d @"$SLOCAL_FILE" "https://test.com/${dynamicvalue:?}/testapi"
用法
您应该详细描述什么应该是
{Dynamicvalue}
以及它是如何生成的。edit基本上是一个不断变化的应用程序名,我将通过调用上述服务在UI中为其创建一个对象。如果您想注释命令行,请使用
前缀!您在url中遗漏了一个
$
,编辑抱歉,我遗漏了$here,但它在脚本中,评论只是为了您的理解。谢谢Gilles。我尝试过这个方法,但在运行脚本{“responseType”:“error”,“status”:500,“data”:[{“message”:“java.lang.NegativeArraySizeException”}]}我做了并测试了它。请尝试
bash-x script appName
to debugAUTH_HEADER_VALUE='…'本地_FILE='…'头按预期加载,但URL更改为此“{}/testapi”,出现以下错误。请参阅下面的服务响应。+printf'{“responseType”:”错误,“状态”:500,“数据”:[{“消息”:“java.lang.NegativeArraySizeException”}]}{“响应类型”:“错误”,“状态”:500,“数据”:[{“消息”:“java.lang.NegativeArraySizeException”}]}+printf'\n
./script appName