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 yqOppure 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: segretoPer leggere l’host del database, puoi usare yq come segue:
yq e '.database.host' config.yamlOutput Esempio:
localhostAggiornare 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.yamlVerifica il cambiamento con:
yq e '.user.name' config.yamlOutput Esempio:
newadminAggiungere un nuovo elemento:
Per aggiungere un nuovo elemento nella sezione del database, come un nuovo campo timeout:
yq e '.database.timeout = 30' -i config.yamlControllare il contenuto del file confermerà l’aggiunta.
Eliminare un elemento:
Per rimuovere la password sotto utente:
yq e 'del(.user.password)' -i config.yamlQuesta 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.