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 для подальшого вивчення.