Bash:
Att Arbeta med YAML

Hur man gör:

Att arbeta direkt med YAML i Bash kräver lite påhittighet eftersom Bash inte har inbyggt stöd för att tolka YAML. Du kan dock använda externa verktyg som yq (en lätt och bärbar kommandorads-YAML-processor) för att effektivt interagera med YAML-filer. Låt oss gå igenom några vanliga operationer:

Installera yq:

Innan du dyker in i exemplen, se till att du har yq installerat. Du kan vanligtvis installera det från din pakethanterare, till exempel på Ubuntu:

sudo apt-get install yq

Eller du kan ladda ner det direkt från dess GitHub-repositorium.

Läsa ett värde:

Anta att du har en fil med namnet config.yaml med följande innehåll:

databas:
  värd: localhost
  port: 5432
användare:
  namn: admin
  lösenord: hemlighet

För att läsa databasvärdet kan du använda yq så här:

yq e '.databas.värd' config.yaml

Exempelutdata:

localhost

Uppdatera ett värde:

För att uppdatera användarens namn i config.yaml, använd kommandot yq eval med alternativet -i (på plats):

yq e '.användare.namn = "nyadmin"' -i config.yaml

Verifiera ändringen med:

yq e '.användare.namn' config.yaml

Exempelutdata:

nyadmin

Lägga till ett nytt element:

För att lägga till ett nytt element under databasavsnittet, som ett nytt fält timeout:

yq e '.databas.timeout = 30' -i config.yaml

Kontroll av innehållet i filen kommer att bekräfta tillägget.

Ta bort ett element:

För att ta bort lösenordet under användare:

yq e 'del(.användare.lösenord)' -i config.yaml

Denna operation kommer att ta bort lösenordsfältet från konfigurationen.

Kom ihåg, yq är ett kraftfullt verktyg och har mycket mer kapaciteter, inklusive konvertering av YAML till JSON, sammanfogning av filer och ännu mer komplexa manipuleringar. Hänvisa till yq-dokumentationen för vidare utforskning.