MENU

コマンドを対話型で実行できる面白いツール、pryriteをWSLで使ってみた

pryriteって?

github.com

Pryriteは、Markdownファイル内から実行可能なコマンドを読み取って、コマンドを対話的に実行できるツールらしい。

職場で扱っているアプリケーション、大半はテストコードもあってテスト環境へのデプロイも自動化されてるのであんまり手元でコマンド打ってっていうのはやらないんですが、たまにローカルでアプリ起動させなきゃいけないものもあって、環境作るために一行ずつコマンド叩くの面倒だったんですよね。

それでいい方法無いか探してたらこれを見つけました。

導入方法(WSL)

めちゃ簡単です。pryriteのREADMEに書いているwgetコマンド叩くだけ。

README: https://github.com/1xyz/pryrite#install

なんですが、私が初心者すぎるせいで本筋とは全然関係ないところで詰まりました。

 

  • wget をsudoで叩いてもpermission deniedになる(WSL利用時)

最初完全に (゚Д゚)ハァ? だったんですが、カレントディレクトリが Cドライブ 直下になってました。 Windowsファイルシステム内だから権限で弾かれるのか?と思い、WSL側の適当なディレクトリに移動したところ何の問題もなくコマンド叩けました。

  • wgetできたけど、 pryrite と叩いても command not found と言われる

インストールされた pryrite/bin 直下に移しましょう...

参考:Linuxの/bin、/usr/bin、$HOME/binのそれぞれの役割 - Qiita

使い方

インストールが済んで pryrite コマンドを叩くと、このような説明が表示されます。

  Your document is organized as a series of executable steps.
 
 • Use the  `next` ,  `prev`  and  `jump`  commands to navigate through these steps.

  • Type  `run`  to execute the current step.

  • Type  `help <command>`  to get help on a specific command.
  • コマンドは run で実行できる。
  • コマンド間の移動は nextprev、 コマンドを飛ばしたい場合は jump

超シンプル

実際使ってみて

pryrite open <markdownのファイル名>

で、↓のような画面になる。runコマンドで一行ずつ実行してく。  

jump コマンドを叩くと、カーソルでjump先を指定できる。  

使ってみて

  • 導入が楽
  • 複数行のコマンドを一度に読み込める時点でめっちゃ便利。
  • しかも、状況に応じて前のコマンドに戻ったり、叩きたくないコマンドを飛ばしたりもできる。
  • 一連のコマンドが一目でわかって、自分がどの地点にいるのかもわかりやすい。(これすごいストレス減りそう) という感じで、環境構築用のMarkdownを用意しておけば、新メンバーが入ってきた時に大活躍しそうだなという感じでした。 あと、Markdown流し込んだ後、実行前に中身の書き換えができたらもっと便利に使えそうだなーと思いました。(パスとか環境毎に違ったりするので)

参考