CLIでアラーム: ttimer コマンドの補強
環境設定
デバイス状況: UNIX系
Mac: homebrew, ttimer をインストール
Linux: ttimer を go get で入れる*
ttimer は Golang (Go言語) で実装されているそうです
*Go言語のダウンロードは コチラ から
ターミナルでタイマー
ターミナルでタイマーを使いたいな…
おお、終了までの時間を表示してくれる ttimer という
ものがあるではないか!!
あれ、でも終了時には通知バナーしか出ないぞ…
うたた寝してたら気付かないパターン…
ということで、シェル芸の時間 :)
始めに
ttimer の終了時に音が鳴る仕様のコマンドを作ります
新しく tick という名前でコマンドを作りたいと思います
別の名前がいい場合は下記の tick の部分を適当な名前に変更して下さい :)
まずは以下のコマンドを実行:
cd /usr/local/bin
touch tick
chmod +x tick
which tick # tick コマンドが作成されたことを確認
次はコマンドの編集
好きなエディタで編集開始(今回は nano で):
nano tick
ソリューション①: 音声ファイルで通知
終了時に音声ファイルを実行させるにはコード内容はこんな感じ:
#!/usr/bin/env zsh
# 好きなシバングに設定して下さい
ttimer -q $1
afplay /path/to/media
ソリューション②: tput bel で通知
終了時に tput bel コマンド実行で音が鳴るようにするにはこんな感じ:
#!/usr/bin/env zsh
ttimer -q $1
tput bel
一回しか鳴らないのでは目覚ましとして頼りないので
止めるまで鳴り続ける仕様にしたいですね…
その場合はこんな感じ:
#!/usr/bin/env zsh
ttimer -q $1
for i in $(seq 30) # 好きな回数に変更して下さい
do
tput bel
sleep 1
done
この書き方なら音声ファイルのパスについて考えずに
済むので汎用性があります
使ってみよう
エディタを終了したら、以下のコマンドでコマンド内容を確認:
cat /usr/local/bin/tick
cat の代わりに bat コマンドを使うとハイライト表示されます :)
実行:
tick 30m # 30分後に音が鳴る
# Ctrl + C で終了
*実行ファイルには拡張子(.sh など)をつけないで下さい
まとめ
大したことはしていませんw
シェル芸って程でもないですね
投稿練習をしてみました
感想・ご指摘などお待ちしています↓↓ :)
Twitter: alpineyahoo
感想・ご指摘お待ちしています