如何使用 curl 到 post 文件,替换环境变量

How to use curl to post a file, substituting env variables

如何使用 curl and/or bash 到 post 文件,替换环境变量。

假设我有 test.json 这样的(我可以编辑其格式):

{
  "name": "'"$NAME_VAR"'"
}

如何通过 curl post 这个文件,同时替换任何环境变量?

post 未替换的 test.json 文件的卷曲示例:

curl -X POST -H 'Content-Type: application/json' --data-binary @test.json http://test-server/some/path

这似乎是 XY Problem。即使不是,问题也未明确说明。解决方案是否必须支持任意 var 名称,或者它们是先验已知的吗?这些值是否可以包含在插入 JSON 文本时需要正确转义的引号?为什么 JSON 文本包含这个不寻常的引用:

"name": "'"$NAME_VAR"'"

如果可以将其更改为环境变量名称两侧的单个双引号,并且环境变量值不包含引号,那么 envsubst 命令是最简单的解决方案。