rexecute: ファイルの更新を検知して指定したコマンドを自動実行するCLIツールつくった

そんなことより卒論書きなよって話ですが、texファイルの更新を検知して自動でビルドする仕組みを整備しました。

2年前に論文を書いていたときは、RubyのGuardを使っていたのですが久しぶりに試すと動かなくて、それを直すのも面倒だったので、少し汎用的に使えるツールをGolangでつくりました。

github.com

使い方

使い方はシンプルで、lsやfindでファイルの一覧をとってきて、rexecuteコマンドにパイプで渡すだけです。

$ find . -name '*.tex' | rexecute make build

デモの様子

みんなのGo言語で気になったところを読んでいたのですが、CLIツールの作り方の章や、golintやgo vetなどのツールの話がとても参考になりました。 このコマンドもUNIXの哲学にあるような、組み合わせて使える小さなコマンドになっているかなと思っています。

その他の使い方

汎用的なツールなのでわりと何にでも使えます。 例えばSphinxsphinx-autobuildとか使わなくても次のように使えます。

$ find . -name '*.rst' | rexecute make html

みんなのGo言語【現場で使える実践テクニック】

みんなのGo言語【現場で使える実践テクニック】