evryの実装をシンプルにした

evry を公開してからオンラインオフライン問わず様々な場でフィードバックをいただいて、それをもとに修正したv0.2.0をリリースしました。

github.com

指定コマンドを実行するための実装をシンプルにした

Use `sh -c` instead of go-shellwords by k1LoW · Pull Request #3 · k1LoW/evry · GitHub

もともとevryでは、オプションに渡された指定コマンドの文字列を、go-shellwords を利用してパースし、パイプ処理を go-pipelineの実装を参考に 組み込んで実行するようにしていましたが、シンプルに sh -c に文字列を渡して実行するように変更しました。

evryにオプションだけでなく引数でもコマンドを渡せるようにした

Allow specifying of command by args by k1LoW · Pull Request #4 · k1LoW/evry · GitHub

具体的には従来の -c オプションによるコマンド指定だけでなく、

$ tail -F access.log | evry -s 10 -c 'wc -l'

以下のようにそのまま引数で渡せるようにもしました。

$ tail -F access.log | evry -s 10 -- wc -l

両方利用できます。

watchコマンドと同じ引数に揃えるのはあきらめました

watch コマンドは -n (--interval) で実行間隔(秒)を指定できるのですが、evryは秒でまとめるだけでなく行数でもまとめることができるので、 --interval は使いづらく、変更せず従来のままのオプションとしました。

公開することで得られるフィードバック

ツールやコードを公開することで得られるフィードバックは本当にありがたいですし、特に今回は勉強になりました。

こちらが勝手にフィードバックを拾っていった方もいるのであえてお名前は挙げませんが、 「俺かな?」と思われた皆さんありがとうございますー!!