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 yqLä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: 3306För att läsa databasvärdet använder du:
set host (yq e '.database.host' config.yaml)
echo $hostExempel på utdata:
localhostUppdatera ett värde i en YAML-fil:
För att uppdatera port till 5432, använd:
yq e '.database.port = 5432' -i config.yamlVerifiera uppdateringen:
yq e '.database.port' config.yamlExempel på utdata:
5432Skriva 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.yamlDetta 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.yamlExempel på utdata:
server1
server2Med hjälp av yq gör Fish Shell det enkelt att navigera genom YAML-dokument och manipulera dem för olika automatiserings- och konfigureringsuppgifter.