ShellScript
Bash

Bashで使えるMustache実装のmoが便利

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というコマンドがある。こちらも軽量で良い。