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

Jul*_*ssa 3 unix

我有一组树莓派作为接入点运行。我使用启动时运行的简单 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。现在我需要以这样的格式生成一个包含该值(通过 bash)的 JSON 文件。

{
  "wifi": {
    "ssid": "SSID",
    "pw": "PW"
  }
}
Run Code Online (Sandbox Code Playgroud)

有人能解释一下吗?

问候

b0f*_*0fh 5

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
Run Code Online (Sandbox Code Playgroud)