どんなの?
gifの紹介画像のっけました。
https://github.com/motsat/command_butler/
定義されたコマンド一覧(yamlファイル)を、インタラクティブに実行していくようなgemです。
coommand_butler execute my_commands.yml
なんで作ったか
この辺りをなんとかしたかったのです。
- 決まったコマンドを投入する機会は意外に多いけど、だるい
- インタラクティブに実行したい
- 場合によってはスキップやジャンプ(いくつかコマンドを飛ばす)したい
- rakeのtask化する程でもない(生linuxコマンド叩くだけとか)
- ある標準出力をコピペして、他のコマンドのある場所にあてはめるくらいは自動化したかった(出力を変数に入れるのも良いけど、置き換え後のコマンドを簡単に見たかった)
- あるパラメータの置き換えと別のファイルで定義という事もしたかった(環境毎とか)
このgemをもっとなんとかしたい所
「yaml」フォーマットよりもっと良いものないか
まず、yamlにしたのは
ls
pwd
みたいな元コマンドがあった場合、
[yml]
- pwd
- ls
と、現状既に抱えているコマンド一覧の先頭に「- 」を挿入するだけで簡単にyamlとして配列構造になるのでなりを置き換えるのが楽だった。また、yamlなのでそれぞれにオプションを持たせるの事もできるし。
[yml]
- pwd
-
chdir: /Users
- ls
でも、↑の上のオプション(chdir)の時の記述がなんか気持ち悪いし他に良いフォーマット無いかなと思っている(独自フォーマットはあんまり作りたくない)