Bash:
Lavorare con YAML
Come:
Lavorare direttamente con YAML in Bash richiede un po’ di ingegnosità poiché Bash non ha supporto integrato per l’analisi di YAML. Tuttavia, puoi utilizzare strumenti esterni come yq
(un processore di YAML da riga di comando leggero e portatile) per interagire efficientemente con i file YAML. Vediamo alcune operazioni comuni:
Installare yq
:
Prima di immergerti negli esempi, assicurati di avere yq
installato. Puoi di solito installarlo dal tuo gestore di pacchetti, per esempio, su Ubuntu:
sudo apt-get install yq
Oppure puoi scaricarlo direttamente dal suo repository GitHub.
Leggere un valore:
Supponi di avere un file chiamato config.yaml
con il seguente contenuto:
database:
host: localhost
port: 5432
user:
name: admin
password: segreto
Per leggere l’host del database, puoi usare yq
come segue:
yq e '.database.host' config.yaml
Output Esempio:
localhost
Aggiornare un valore:
Per aggiornare il nome dell’utente in config.yaml
, usa il comando yq eval
con l’opzione -i
(sul posto):
yq e '.user.name = "newadmin"' -i config.yaml
Verifica il cambiamento con:
yq e '.user.name' config.yaml
Output Esempio:
newadmin
Aggiungere un nuovo elemento:
Per aggiungere un nuovo elemento nella sezione del database, come un nuovo campo timeout
:
yq e '.database.timeout = 30' -i config.yaml
Controllare il contenuto del file confermerà l’aggiunta.
Eliminare un elemento:
Per rimuovere la password sotto utente:
yq e 'del(.user.password)' -i config.yaml
Questa operazione rimuoverà il campo della password dalla configurazione.
Ricorda, yq
è uno strumento potente e ha molte più capacità, inclusa la conversione di YAML in JSON, l’unione di file e manipolazioni ancora più complesse. Fai riferimento alla documentazione di yq
per ulteriori esplorazioni.