我的服务器上有JSON文件,需要传递给运行Debian的几个不同的Raspberry Pis。每个Pis都有自己的JSON提要,它们将从中提取,但实际上,我需要自动获取一个键值对的值,并将其用作终端中运行的命令的参数。
例如:获取https://www.example.com/api/THDCRUG2899CGF8&/manifest.json
{
"version": "1.5.6",
"update_at": "201609010000",
"body": "172.16.1.1"
}
然后,该值将动态输出到使用body的值作为参数的命令中。 EG:ping [body value]
编辑:
这样做的目的是让每分钟执行一次任务以接收天气更新。
答案 0 :(得分:1)
您正在寻找命令替代,特别是包含可以从JSON值中提取值的命令。首先,您可以使用jq
作为JSON处理命令。
$ jq -r '.body' tmp.json
172.16.1.1
命令替换允许您捕获jq
的输出以用作参数:
$ ping "$(jq -r '.body' tmp.json)"
PING 172.16.1.1 (172.16.1.1): 56 data bytes
...