基本上,我有一个 openwrt 路由器。我希望它运行一个 shell 脚本来连接到 API,使用其 MAC 地址作为身份验证并下载 JSON 文件。
由于 API 尚未构建,我手动创建了一个 JSON 文件,并且我希望脚本从 JSON 中读取一些值并将它们存储在单独的变量中。
我使用 curl 来获取 JSON 文件,现在我需要脚本来读取它,并将每个值存储在单独的变量中。
我在网上看到的都是使用 jq (https://stedolan.github.io/jq/)但是小路由器的内存只剩下4MB,路由器确实安装了jshn(https://github.com/m-labs/openwrt-milkymist/blob/master/package/jshn/example.txt)。关于我应该如何编写脚本,您有什么想法吗?
{
"mac": "8d:ff:86:7d:9c",
"adblock": "off",
"parental": "off",
"vpn": "newyork1.ovpn",
"vpnstatus": "off",
"status": "active"
}
提前致谢,
答案1
由于您可以控制该 JSON 文件的内容,并且需要在低内存设备上使用 shell 处理它,因此请不要使用 JSON:输出shell 语法你可以source
直接
mac="8d:ff:86:7d:9c"
adblock="off"
parental="off"
vpn="newyork1.ovpn"
vpnstatus="off"
status="active"
然后,当你下载它之后,比如说,status.sh
. ./status.sh
do_something_with "$status"
do_something_else_with "$vpn" "$vpnstatus"