LoginSignup
1

More than 5 years have passed since last update.

連続したコマンド投入をサポートするgemを作った。

Last updated at Posted at 2015-01-11

どんなの?

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)の時の記述がなんか気持ち悪いし他に良いフォーマット無いかなと思っている(独自フォーマットはあんまり作りたくない)

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1