Fish Shell:
Робота з YAML
Як це робити:
Fish Shell не має вбудованої підтримки для розбору YAML, але ви можете використовувати сторонні інструменти, як-от yq
(легковаговий та портативний командний процесор YAML), для роботи з даними YAML.
Встановлення yq (якщо ще не встановлено):
sudo apt-get install yq
Читання значення з файлу YAML:
Припустимо, ви маєте файл YAML config.yaml
з наступним вмістом:
database:
host: localhost
port: 3306
Щоб прочитати хост бази даних, ви б використали:
set host (yq e '.database.host' config.yaml)
echo $host
Приклад виводу:
localhost
Оновлення значення у файлі YAML:
Щоб оновити port
до 5432
, використайте:
yq e '.database.port = 5432' -i config.yaml
Перевірка оновлення:
yq e '.database.port' config.yaml
Приклад виводу:
5432
Створення нового файлу YAML:
Для створення нового new_config.yaml
із попередньо визначеним вмістом:
echo "webserver:
host: '127.0.0.1'
port: 8080" | yq e -P - > new_config.yaml
Це використовує yq
для обробки та красивого виводу (-P прапор) рядка у новий файл YAML.
Розбір складних структур: Якщо у вас є більш складний файл YAML і потрібно отримати вкладені масиви або об’єкти, ви можете:
echo "servers:
- name: server1
ip: 192.168.1.101
- name: server2
ip: 192.168.1.102" > servers.yaml
yq e '.servers[].name' servers.yaml
Приклад виводу:
server1
server2
Використовуючи yq
, Fish Shell робить навігацію через документи YAML та їх маніпуляцію простими для різноманітних задач автоматизації та конфігурації.