Bash:
Arbeiten mit YAML
Wie:
Direkt mit YAML in Bash zu arbeiten, erfordert ein wenig Einfallsreichtum, da Bash keine integrierte Unterstützung für das Parsen von YAML bietet. Sie können jedoch externe Tools wie yq
(einen leichten und tragbaren Kommandozeilen YAML-Prozessor) nutzen, um effizient mit YAML-Dateien zu interagieren. Gehen wir einige gängige Operationen durch:
yq
installieren:
Bevor Sie in die Beispiele eintauchen, stellen Sie sicher, dass Sie yq
installiert haben. Sie können es normalerweise über Ihren Paketmanager installieren, zum Beispiel auf Ubuntu:
sudo apt-get install yq
Oder Sie können es direkt aus seinem GitHub-Repository herunterladen.
Einen Wert lesen:
Angenommen, Sie haben eine Datei namens config.yaml
mit dem folgenden Inhalt:
database:
host: localhost
port: 5432
user:
name: admin
password: geheim
Um den Datenbankhost zu lesen, können Sie yq
wie folgt verwenden:
yq e '.database.host' config.yaml
Beispielausgabe:
localhost
Einen Wert aktualisieren:
Um den Namen des Benutzers in config.yaml
zu aktualisieren, verwenden Sie den Befehl yq eval
mit der Option -i
(in-place):
yq e '.user.name = "neuadmin"' -i config.yaml
Überprüfen Sie die Änderung mit:
yq e '.user.name' config.yaml
Beispielausgabe:
neuadmin
Ein neues Element hinzufügen:
Um ein neues Element im Datenbankabschnitt hinzuzufügen, wie ein neues Feld timeout
:
yq e '.database.timeout = 30' -i config.yaml
Das Überprüfen des Inhalts der Datei wird die Ergänzung bestätigen.
Ein Element löschen:
Um das Passwort unter Benutzer zu entfernen:
yq e 'del(.user.password)' -i config.yaml
Diese Operation wird das Passwortfeld aus der Konfiguration entfernen.
Denken Sie daran, yq
ist ein leistungsfähiges Werkzeug und bietet noch viele weitere Möglichkeiten, einschließlich der Konvertierung von YAML zu JSON, dem Zusammenführen von Dateien und sogar komplexeren Manipulationen. Schauen Sie in die yq
-Dokumentation für weitere Erkundungen.