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 yqOdczytywanie wartości z pliku YAML:
Załóżmy, że masz plik YAML config.yaml o następującej zawartości:
database:
host: localhost
port: 3306Aby odczytać host bazy danych, użyłbyś:
set host (yq e '.database.host' config.yaml)
echo $hostPrzykładowe wyjście:
localhostAktualizacja wartości w pliku YAML:
Aby zaktualizować port na 5432, użyj:
yq e '.database.port = 5432' -i config.yamlWeryfikacja aktualizacji:
yq e '.database.port' config.yamlPrzykładowe wyjście:
5432Tworzenie 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.yamlTo 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.yamlPrzykładowe wyjście:
server1
server2Używając yq, Fish Shell ułatwia nawigację po dokumentach YAML i manipulowanie nimi dla różnych zadań automatyzacji i konfiguracji.