シェルスクリプト内でyamlのデータを使いたかった時にちょっと詰まったので共有します。
概要
色々解決手法はあると思いますが、以下の方法で解決しました。
yaml
→ json
→ jq
で取得
シェル
use_yaml.sh
# !/bin/bash
python json_gen.py > hoge.json
FUGA=`jq ".path.to.fuga" hoge.json`
python
でyml
からjson
に変換して、jq
で取得して使用しました。
実際にはyaml
のファイル名をpython
に渡してそれをjson
に変換しました。
python
json_gen.py
import yaml, json
with open('./path/to/yml/hoge.yml') as file:
obj = yaml.safe_load(file)
js = json.dumps(obj, indent=2)
print(js)