&shufはランダムにテキストを選択するコマンドです。1で「一文」選ぶように指示しています。-eにより、その後の引数が、選択対象の文字列であると指定しています。コードに書くのが嫌ならば、テキストファイルで用意し、そのファイルを-fで指定する方法もあります。「重要なタスク」を3つ登録しています。3つ登録してその他のタスクより3倍の確率で引っかかるようにしています。同様の理由で「気になっているタスク」を2つ登録しています。その後、kdialogを使いメッセージボックスでランダムに選択されたタスクを表示しています。メッセージBOXのOKボタンをクリックするまで、実行は止まっています。今までとりかかっていたタスクから、次のタスクへ切り替えるには手間がかかることもありますので、準備が整ったらOKしましょう。すると、一回の作業時間の終わりに終了を告げる「休憩開始」、その5分前に「もうすぐ終了」、作業時間+休憩時間に「集計終了」のメッセージボックスを出しています。atコマンドを使っていたのですが、最低一分単位のコントロールしかできないため、より正確なタイマーとしてsleepを使用してます。私はLinuxのディスクトップ環境としてKDEを使用しているため、kdialogなのですが、他のディスクトップやMACを使う場合は、それに合ったUIコマンドを利用してください。kdialogの前のexport文は、shを利用しバックグランドで実行しているのですが、UIを表示するための環境が引き継がれないため、新たに設定するためのおまじないだと思ってください。これはこれで便利なのですが、タスク管理ツールやWebサービスを利用している場合、わざわざタスクをコマンド内、もしくはテキストファイルに書くというのは二度手間です。したサービスなりツールなりから、情報を引っ張ってきて、それをランダムに選択し、表示するとより便利です。そこでタスク管理サービスのWunderlistの特定のリストに存在するタスクから、取得するように改造したのが、次のBashスクリプトです。