MIN=1 && for i in $(seq $(($MIN*5)) -1 1); do echo -n "$i, "; sleep 60; done; while :; do beep -r 25 -l 3; sleep 5; done
bashカウントダウン(up?)タイマー付き/アラーム:改善?
私はpomodoro作業/学習技術を試すことが最近決めたと、私は通常、コンピュータで作業しておりますので、一緒にマシン上で実行されるアラーム付きカウントダウン/アップタイマーを考え出すことが可能になりたかったです私は働いています。簡単に言えば、25分または5分の間隔を分単位でカウントダウンした後、アラーム音が鳴ります。リセットするまでアラーム音が鳴ります。私はこれをターミナルから実行できるnon-guiソリューションにしたいと思った。
ウェブを検索すると、上の図のように(ほとんどはhttp://www.commandlinefu.com/commands/view/5886/countdown-clockから取得)何かを考え出した。カウントダウンして残り時間を分単位で表示し、指定された間隔が終了すると、特有ではあるが非侵入型のシステムベルパターン(「ビープ音」プログラムを使用)を5秒ごとに実行してctrl + cと入力しますスクリプトが実行された端末で
私が言ったように、私がまとめたものは、自分のニーズに適切に合うようです。しかし、私のbashに対する理解は非常に限られているので、スクリプトを見て、bashスクリプトの経験を持つ人には明らかであるはずです。私はこのスクリプトにどのような改善が加えられるのかここで尋ねると思いました。さらに凝縮することができますか、あるいは同じ目的を達成するために異なるユーティリティを使用することができますが、もっとエレガントにできますか?入力をいただければ幸いです。
続き編集:ゾルタンがMIN=1 && for i in $(seq $(($MIN*5)) -1 1);
をfor i in $(seq 5 -1 1);
に置き換えることを提案しました。これは私が投稿したスクリプトをやや単純化して改良したようです。したがって、1つのライナーとしてのより賢明なバージョンは、for i in $(seq 5 -1 1); do echo -n "$i, "; sleep 60; done; while :; do beep -r 25 -l 3; printf " # "; sleep 5; done
となります。彼が投稿したバージョンは、はるかに機能が豊富で柔軟なスクリプトと思われるので、私はそれを最高の答えとしてマークします。利用可能なオプションがあるのは良いことですが、私は先に進んで私が作成したバージョン(Zoltanによって提案されたわずかな改良を含み、ビープ音が鳴るたびにハッシュ記号が追加されると思っていました[私がコンピュータを離れるべきである場合に備えて、何時間鳴っているのかのアイデアを与えるために - printf " # "
の部分)がスクリプトにハードコードされています。入力いただきありがとうございます。
私はこのスクリプトを試してみました。それは私が最初に投稿したものよりはるかに柔軟で能力があります。だから私はこのソリューションを最善の答えとしてマークしますが、最初に投稿したスクリプトを少し修正したバージョンを引き続き使用する予定です。 – MJiller