Fish Shell:
Praca z YAML
Jak to zrobić:
Fish Shell nie ma wbudowanego wsparcia do analizowania plików YAML, ale możesz wykorzystać narzędzia stron trzecich takie jak yq
(lekki i przenośny procesor YAML działający z linii komend), aby obsługiwać dane YAML.
Instalacja yq (jeśli nie jest już zainstalowany):
sudo apt-get install yq
Odczytywanie wartości z pliku YAML:
Załóżmy, że masz plik YAML config.yaml
o następującej zawartości:
database:
host: localhost
port: 3306
Aby odczytać host bazy danych, użyłbyś:
set host (yq e '.database.host' config.yaml)
echo $host
Przykładowe wyjście:
localhost
Aktualizacja wartości w pliku YAML:
Aby zaktualizować port
na 5432
, użyj:
yq e '.database.port = 5432' -i config.yaml
Weryfikacja aktualizacji:
yq e '.database.port' config.yaml
Przykładowe wyjście:
5432
Tworzenie nowego pliku YAML:
Aby stworzyć nowy new_config.yaml
z zdefiniowaną zawartością:
echo "webserver:
host: '127.0.0.1'
port: 8080" | yq e -P - > new_config.yaml
To używa yq
do przetwarzania i ładnego wydruku (-P flag) ciągu znaków do nowego pliku YAML.
Analiza skomplikowanych struktur: Jeśli masz bardziej skomplikowany plik YAML i potrzebujesz pobrać zagnieżdżone tablice lub obiekty, możesz:
echo "servers:
- name: server1
ip: 192.168.1.101
- name: server2
ip: 192.168.1.102" > servers.yaml
yq e '.servers[].name' servers.yaml
Przykładowe wyjście:
server1
server2
Używając yq
, Fish Shell ułatwia nawigację po dokumentach YAML i manipulowanie nimi dla różnych zadań automatyzacji i konfiguracji.