Fish Shell:
Att Arbeta med YAML
Hur man gör:
Fish Shell har inte inbyggt stöd för att tolka YAML, men du kan använda tredjepartsverktyg som yq
(en lätt och bärbar kommandorads YAML-processor) för att hantera YAML-data.
Installation av yq (om det inte redan är installerat):
sudo apt-get install yq
Läsa ett värde från en YAML-fil:
Anta att du har en YAML-fil config.yaml
med följande innehåll:
database:
host: localhost
port: 3306
För att läsa databasvärdet använder du:
set host (yq e '.database.host' config.yaml)
echo $host
Exempel på utdata:
localhost
Uppdatera ett värde i en YAML-fil:
För att uppdatera port
till 5432
, använd:
yq e '.database.port = 5432' -i config.yaml
Verifiera uppdateringen:
yq e '.database.port' config.yaml
Exempel på utdata:
5432
Skriva en ny YAML-fil:
För att skapa en ny new_config.yaml
med fördefinierat innehåll:
echo "webserver:
host: '127.0.0.1'
port: 8080" | yq e -P - > new_config.yaml
Detta använder yq
för att bearbeta och snygga till (-P flaggan) en sträng till en ny YAML-fil.
Tolka komplexa strukturer: Om du har en mer komplex YAML-fil och behöver hämta nästlade arrayer eller objekt, 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
Exempel på utdata:
server1
server2
Med hjälp av yq
gör Fish Shell det enkelt att navigera genom YAML-dokument och manipulera dem för olika automatiserings- och konfigureringsuppgifter.