首页 > 解决方案 > curl -d json 里面的 var 无效

问题描述

我有一个 bash 脚本,它可以像这样使用 sed 回显并执行一些文本替换

var=$(<file)

该文件看起来像这样

{
  "name": "John",
  "address": "Somewhere"
}

当我echo "$var"(保留格式)时,它看起来很好。当我使用curl -d '@test_file_with_json'服务器时也接受它但是当我这样做时curl -d '$var'它被拒绝并且API告诉我json无效。

起初我以为是因为单引号,但我尝试了-d '"$var"'-d "$var"以及其他各种组合,但我无法让它工作。

我确定这是非常明显的事情,但我怎样才能让 var 中的数据发布?实际内容很长(几百行),因此将其全部直接放在 curl 命令中是不切实际的。

标签: bashcurl

解决方案


推荐阅读