使用POST中的变量在curl中使用无效的_json

使用POST中的变量在curl中使用无效的_json,json,bash,variables,curl,Json,Bash,Variables,Curl,有人能告诉我,当我启动justcurl并发布一些json数据时,它可以工作,但是当我尝试在json中添加变量并循环for时,bash返回无效的\u json 我已经读到bash变量是非类型化的,那么为什么我会出现这个错误呢 #!/bin/bash for var in 14456 14455 do curl -X POST -d '{"api_token": "test_api", "id": $var}' 'https://api_test.com/' do

有人能告诉我,当我启动justcurl并发布一些json数据时,它可以工作,但是当我尝试在json中添加变量并循环
for
时,bash返回
无效的\u json

我已经读到bash变量是非类型化的,那么为什么我会出现这个错误呢

#!/bin/bash

    for var in 14456 14455 
    do
    curl -X POST -d '{"api_token": "test_api", "id": $var}' 'https://api_test.com/'
    done
您需要在bash中执行变量插值:

curl -X POST -d "{\"api_token\": \"test_api\", \"id\": $var}" 'https://api_test.com/'