Bash:
Praca z YAML
Jak to zrobić:
Bezpośrednia praca z YAML w Bashu wymaga nieco pomysłowości, ponieważ Bash nie ma wbudowanego wsparcia dla parsowania YAML. Jednak możesz użyć zewnętrznych narzędzi, takich jak yq (lekkie i przenośne narzędzie do wiersza poleceń dla YAML), aby efektywnie współdziałać z plikami YAML. Przejdźmy przez kilka typowych operacji:
Instalacja yq:
Zanim zagłębimy się w przykłady, upewnij się, że masz zainstalowany yq. Zwykle możesz go zainstalować z menedżera pakietów, na przykład na Ubuntu:
sudo apt-get install yqLub możesz pobrać go bezpośrednio z repozytorium GitHub.
Odczytywanie wartości:
Załóżmy, że masz plik o nazwie config.yaml z następującą zawartością:
database:
host: localhost
port: 5432
user:
name: admin
password: secretAby odczytać hosta bazy danych, możesz użyć yq w następujący sposób:
yq e '.database.host' config.yamlPrzykładowy wynik:
localhostAktualizowanie wartości:
Aby zaktualizować nazwę użytkownika w config.yaml, użyj polecenia yq eval z opcją -i (in-place):
yq e '.user.name = "newadmin"' -i config.yamlZweryfikuj zmianę za pomocą:
yq e '.user.name' config.yamlPrzykładowy wynik:
newadminDodawanie nowego elementu:
Aby dodać nowy element w sekcji bazy danych, jak nowe pole timeout:
yq e '.database.timeout = 30' -i config.yamlSprawdzenie zawartości pliku potwierdzi dodanie.
Usuwanie elementu:
Aby usunąć hasło użytkownika:
yq e 'del(.user.password)' -i config.yamlTa operacja usunie pole hasła z konfiguracji.
Pamiętaj, yq jest potężnym narzędziem i ma wiele więcej możliwości, w tym konwersję YAML na JSON, łączenie plików i nawet bardziej złożone manipulacje. Zapoznaj się z dokumentacją yq dla dalszych poszukiwań.