使用 bash 从文件生成具有变量值的 json

使用 bash 从文件生成具有变量值的 json

我有一组 Raspberry Pi 作为接入点运行。我使用在启动时运行的简单 bash 脚本设置默认 SSID 和密码。我为此获得了唯一值:

SSID =cat /sys/class/net/wlan0/address | tail -c 10 | tr -d ":"

口径 =cat /proc/cpuinfo | tail -c 9

我只是在 hostapd 文件上回显结果,一切正常,每个 Raspberry Pi 都有唯一的 SSID 和 PW。现在我需要以这样的格式生成一个包含这些值的 JSON 文件(通过 bash)。

{
  "wifi": {
    "ssid": "SSID",
    "pw": "PW"
  }
}

有人可以解释一下这个问题吗?

问候

答案1

Heredocs 执行变量扩展,因此你可以执行以下操作

SSID=$(cat /sys/class/net/wlan0/address | tail -c 10 | tr -d ":")
PW=$(cat /proc/cpuinfo | tail -c 9)

cat >./config.json <<EOF
    {
      "wifi": {
          "ssid": "$SSID",
          "pw":   "$PW"
      }
    }
EOF

相关内容