Mo
大げさなものは必要ないが、ちょっとしたテンプレート処理をスクリプトで実行したい場面はたまにあると思います。でも、その環境に何かをインストールさせるのはちょっと…というときには、Bashのみで完結すると嬉しいです。
そこで、MustacheテンプレートのBash実装であるmoを使ってみました。
適当なテンプレートを用意します。
foo.yml.mo
foo:
{{FOO}}
出力するための数行のスクリプトを用意します。
generate.sh
#!/usr/bin/env bash
export FOO='hello world'
MO="$(curl -sf https://raw.githubusercontent.com/tests-always-included/mo/master/mo)"
cat foo.yml.mo | bash -c "${MO}"
$ ./generate.sh
foo:
hello world
カジュアルに使えそうで便利です。
または
envsubstというコマンドがある。こちらも軽量で良い。