当我尝试从变量发布温度值时,我从 AWS 控制台收到“JSON 格式错误”;这工作正常:
mosquitto_pub -t \$aws/things/my-xxxx/shadow/update -m '{"state": {"desired":
{"temperature": 1 }}}' -q 1
我想用一个变量替换“1”,所以我用 mosquitto_pub 等创建了一个 shell,我想向 shell 传递一个参数,调用“./publish.sh Temperature_Value”,其中温度值是一个整数:
尝试这个我从 AWS 控制台收到错误:
DATA=${1}
mosquitto_pub -t \$aws/things/my-xxxx/shadow/update -m '{"state": {"desired":
{"temperature": $DATA }}}' -q 1
我做错了什么? 谢谢
最佳答案
你的转义是错误的。这是正确的转义:
mosquitto_pub -t \$aws/things/my-xxxx/shadow/update -m "{\"state\": {\"desired\":
{\"temperature\": $1 }}}" -q 1
请记住,单引号 ' 内的变量不会被插值。
问候!
关于bash - 为 AWS IoT 格式化 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59251543/