LoginSignup
1
1

More than 1 year has passed since last update.

ターミナルで、モジュールのインストールが完了したら、通知をもらいたい

Last updated at Posted at 2021-05-13

課題

マイクロサービスの環境構築をするときに、
複数のプロジェクトのモジュールをインストールする必要がある。
インストール中に別の作業をしていると、別の作業に集中してしまって、環境構築が進まないことがある。(私が過集中してるだけかもしれない)

解決策

ターミナルで、コマンドを実行し、
5秒以上かかる処理が終わったら通知してくれればいい。

スクリーンショット 2021-05-13 23.42.50.png

対応環境

Mac OS
Zsh(Bashじゃない)
Homebrewが入っている

設定方法

  1. brew install terminal-notifier

  2. vi ~/.zshrcで下記の内容を追記

.zshrc
local COMMAND=""
local COMMAND_TIME=""
precmd() {
    if [ "$COMMAND_TIME" -ne "0" ] ; then
        local d=`date +%s`
        d=`expr $d - $COMMAND_TIME`
        if [ "$d" -ge "5" ] ; then
            COMMAND="$COMMAND "
            which terminal-notifier > /dev/null 2>&1 && terminal-notifier -message "${${(s: :)COMMAND}}" -m "$COMMAND" -sound Glass;
        fi
    fi
    COMMAND="0"
    COMMAND_TIME="0"
}
preexec () {
    COMMAND="${1}"
    if [ "`perl -e 'print($ARGV[0]=~/ssh|^vi/)' $COMMAND`" -ne 1 ] ; then
        COMMAND_TIME=`date +%s`
    fi
}

3, source ~/.zshrc で設定を反映

4, 実行に時間がかかるコマンドを実行して、通知が来ることを確認しましょう

スクリーンショット 2021-05-13 23.42.50.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1