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 та їх маніпуляцію простими для різноманітних задач автоматизації та конфігурації.