この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
毎度お馴染み流浪の動かしてみた & C 芸人の Fujimura です。
今回はコマンドのキューイングができる nq を動かしてみたいと思います。
ちなみにタイトルには「Amazon Linux で」と書いていますが、Mac でも動くことは確認済みです。
インストール
github からソースを取得して make でビルドします。
$ sudo yum install gcc48 git
$ git clone https://github.com/chneukirchen/nq.git
$ cd nq
$ make
実行
README.md にもありますが、nq コマンドに実行したいコマンドを突っ込んでいって、fq コマンドで出力を確認するという使い方になるようです。
手元では簡単な時間のかかるスクリプトで試してみました。
#!/bin/bash
sleep 10
echo "Hello, world!"
これを program というファイルにして早速 nq ってみます。
$ nq ./program
,14f86734621.5331
$ nq ./program
,14f8673495d.5335
$ fq
==> ,14f86734621.5331
exec 'nq' './program'
Hello, world!
[exited with status 0.]
==> ,14f8673495d.5335
exec 'nq' './program'
Hello, world!
[exited with status 0.]
ログだとわかりにくいのですが、sleep で指定した時間毎に ==>
以降の出力がされています。
出力内容についてはカレントにカンマで始まるファイルが生成されます。(nohup.out みたいなものですかね。)
個人的には remote で nohup 的に使える機能の方がうれしいかなと思います。
$ nq ./program
,14f8673e698.5341
$ logout
Connection to xxx.xxx.xxx.xxx closed.
$ ssh ec2-user@xxx.xxx.xxx.xxx
$ fq
==> ,14f8673e698.5341
exec 'nq' './program'
Hello, world!
[exited with status 0.]
まとめ
nq の first commit は 2015/07/31 とかなり最近であるため、nq は割とモダンな CLI ユーティリティなのではないかと思います。(個人的には他にも cv などのように CLI が充実するのはワクワクするところです。)