jq ist ein kleiner und flexibler command-line JSON processor.
Beispiel
Config-File auslesen
Pro System ein Pfad. Unterschied zwischen Prod und Dev inkl. Umgebungsvariablen auslesen.
1#!/usr/bin/bash
2CONFIGFILE="config.rc.json"
3ZIELSYTEM="prodsysteme"
4ZIELSYTEM="devsysteme"
5for SystemArt in $(jq -r ".$ZIELSYTEM[] | .name" ${CONFIGFILE} )
6do
7 PFAD=$(jq -r --arg SystemArt "${SystemArt}" ".$ZIELSYTEM[] | select (.name==\"$SystemArt\")| .pfad " $CONFIGFILE )
8 echo "system $SystemArt auf $PFAD"
9done
1{
2 "devsysteme": [
3 {
4 "name": "local",
5 "pfad": "/mnt"
6 },
7 {
8 "name": "test1",
9 "pfad": "/mnt_gibt_es_nicht"
10 }
11 ],
12 "prodsysteme": [
13 {
14 "name": "prod",
15 "pfad": "/mnt"
16 }
17 ]
18}