Fish Shell:
Arbeider med YAML
Hvordan:
Fish Shell har ikke innebygd støtte for parsing av YAML, men du kan benytte tredjepartsverktøy som yq
(en lettvektig og bærbar kommandolinje YAML-prosessor) for å håndtere YAML-data.
Installasjon av yq (hvis ikke allerede installert):
sudo apt-get install yq
Lese en verdi fra en YAML-fil:
Anta at du har en YAML-fil config.yaml
med følgende innhold:
database:
host: localhost
port: 3306
For å lese databaseverten, ville du brukt:
set host (yq e '.database.host' config.yaml)
echo $host
Eksempel på output:
localhost
Oppdatere en verdi i en YAML-fil:
For å oppdatere port
til 5432
, bruk:
yq e '.database.port = 5432' -i config.yaml
Verifisere oppdateringen:
yq e '.database.port' config.yaml
Eksempel på output:
5432
Skrive en ny YAML-fil:
For å opprette en ny new_config.yaml
med forhåndsdefinert innhold:
echo "webserver:
host: '127.0.0.1'
port: 8080" | yq e -P - > new_config.yaml
Dette bruker yq
for å behandle og pene utskrift (-P-flagg) en streng til en ny YAML-fil.
Parse komplekse strukturer: Hvis du har en mer kompleks YAML-fil og trenger å hente nestleder arrayer eller objekter, kan du:
echo "servers:
- name: server1
ip: 192.168.1.101
- name: server2
ip: 192.168.1.102" > servers.yaml
yq e '.servers[].name' servers.yaml
Eksempel på output:
server1
server2
Ved bruk av yq
, gjør Fish Shell det greit å navigere gjennom YAML-dokumenter og manipulere dem for ulike automatiserings- og konfigurasjonsoppgaver.