コマンド操作の時間

60秒でできること(SVN)」で60秒でどれぐらいコマンドが入力できるかやってみましたが、プロンプトで時間が表示されるものの、時間の計算が面倒でした。
今回は0秒からの時間が表示できるプロンプトを作ります。

takk@deb8:~$ date +%T
23:03:42
takk@deb8:~$ 

dateコマンドは便利ですが、時間の引き算が容易にできません。perlでtime関数の戻り値を使うことにします。

takk@deb8:~$ perl -e'print time'>start
takk@deb8:~$ cat start;echo
1487081536
takk@deb8:~$ 

そして、新たにtimeで取得した時間を、startファイルに保存した時間で引きます。

takk@deb8:~$ perl -ne 'printf"%02d:%02d\n",reverse ((localtime time - $_)[0..1])'<start
01:12
takk@deb8:~$ 

これをスクリプトにしてPS1に設定すればよいです。

takk@deb8:~$ echo !!>ss
takk@deb8:~$ PS1="\$(. /home/takk/ss) $"
02:33

時間をリセットするには、startファイルを書き換えます。

03:08 $ perl -e'print time'>start
00:00 $ 

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA