Bash:
Робота з YAML
Як це зробити:
Пряма робота з YAML у Bash вимагає деякої винахідливості, оскільки Bash не має вбудованої підтримки для аналізу YAML. Однак, ви можете використовувати зовнішні інструменти, як-от yq
(легкий і портативний командний процесор YAML), для ефективної взаємодії з файлами YAML. Давайте розглянемо деякі загальні операції:
Встановлення yq
:
Перш ніж зануритися у приклади, переконайтеся, що у вас встановлено yq
. Зазвичай його можна встановити з вашого менеджера пакетів, наприклад, на Ubuntu:
sudo apt-get install yq
Або ви можете завантажити його безпосередньо з його репозиторію на GitHub.
Читання значення:
Припустимо, у вас є файл під назвою config.yaml
з таким вмістом:
database:
host: localhost
port: 5432
user:
name: admin
password: secret
Для читання хоста бази даних, ви можете використовувати yq
наступним чином:
yq e '.database.host' config.yaml
Приклад виводу:
localhost
Оновлення значення:
Щоб оновити ім’я користувача у config.yaml
, використовуйте команду yq eval
з опцією -i
(в місці):
yq e '.user.name = "newadmin"' -i config.yaml
Перевірте зміну з:
yq e '.user.name' config.yaml
Приклад виводу:
newadmin
Додавання нового елемента:
Щоб додати новий елемент у секцію бази даних, наприклад, нове поле timeout
:
yq e '.database.timeout = 30' -i config.yaml
Перевірка вмісту файлу підтвердить додавання.
Видалення елемента:
Щоб видалити пароль під користувачем:
yq e 'del(.user.password)' -i config.yaml
Ця операція видалить поле пароля з конфігурації.
Пам’ятайте, yq
- це потужний інструмент і має багато інших можливостей, включаючи конвертацію YAML в JSON, злиття файлів і навіть більш складні маніпуляції. Зверніться до документації yq
для подальшого вивчення.