とりあえずのGuard::Shell

2011-08-02
かなり古い記事です。現在も有効な内容であるかどうか分かりませんのでご注意ください。

を見るといろいろ増えているGuardたち。
だがその中にもまだ用途に合うGuardがないとき、またはあるけどイマイチ気に入らないとき。
そんな時に汎用的に使えるのがGuard::Shell。

これはファイルが変更されたら任意のシェルコマンドを実行するというもの。

guard init shellでGuardfileに追記される内容を見てみると

guard 'shell' do
  watch('(.*).txt') {|m| `tail #{m[0]}` }
end

Rubyで外部コマンド叩いてるだけと言うなげっぱなしの姿勢がすばらしい。
でも便利。

ちょっと前Sphinxを使っていたときは以下のようなGuardfileを作って使っていた。

guard 'shell' do
  watch(%r{^.+\.rst}){|m| `make html >/dev/null`}
end

これにlivereload絡めて使うと編集内容がすぐにチェックできて快適だった。
まあReSTになじめなくてSphinxはやめちゃったんですけどね。

Profile

フルスタック気味のフリーランスプログラマー。

どちらかと言うと得意はインフラ構築とサーバーサイドプログラミングですが、フロントエンドもぼちぼちやっています。

最近の興味範囲はWordPress、AWS、サーバーレス、UIデザイン。

愛車はセロー。カメラはペンタックス。旅好きです。横浜在住。