Gera um json com valor variável a partir de um arquivo usando o bash

3

Eu tenho uma frota de pi de framboesa funcionando como pontos de acesso. Eu defino o SSID e a PASSWORD padrão usando um script bash simples que é executado na inicialização. Eu recebo valores exclusivos para isso:

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

PW = cat /proc/cpuinfo | tail -c 9

Eu apenas echo os resultados no arquivo hostapd, tudo funciona muito bem, cada Raspberry Pi tem SSID e PW exclusivos. Agora preciso gerar um arquivo JSON com esses valores (via bash) em um formato como este.

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

Alguém pode lançar alguma luz sobre isso?

Atenciosamente

    
por Juliano Piassa 11.09.2017 / 16:48

1 resposta

3

Heredocs executa expansão de variáveis, então você pode fazer algo como

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
    
por 11.09.2017 / 16:57

Tags