Fish Shell:
Работа с YAML
Как:
Чтение YAML Конфига
# Предполагая, что 'config.yaml' содержит:
# name: Fishy
# occupation: Shell
set config (yaml2json < config.yaml | jq -r '.name, .occupation')
echo $config
# Вывод: Fishy Shell
Запись в YAML Файл
# Используя 'yq', портативный командный процессор YAML
echo -e "name: Nemo\ncolor: Orange" > fish.yaml
# Добавление нового ключа
yq e '.friends += ["Dory"]' -i fish.yaml
cat fish.yaml
# Вывод:
# name: Nemo
# color: Orange
# friends:
# - Dory
Подробнее
YAML появился в начале 2000-х как упрощение XML и с тех пор стал стандартом для файлов конфигурации в индустрии программного обеспечения. Его минимальный синтаксис является и благом, и проклятием — легко читается, но сложно разбирать без библиотек. Альтернативы YAML включают JSON, XML и TOML, каждый из которых имеет свои компромиссы по использованию. В Fish Shell для манипуляций с YAML файлами обычно используются yq
и yaml2json
, так как в Fish Shell нет встроенного разбора YAML.
Смотрите также
- Официальный сайт YAML: https://yaml.org
- Руководство
jq
: https://stedolan.github.io/jq/manual/ - Репозиторий и документация
yq
: https://github.com/mikefarah/yq