[WSL] 時間がかかる処理をターミナルで実行すると、終わったタイミングで画面に通知する自作コマンド

に公開

以前に mac で時間がかかる処理をターミナルで実行すると、終わったタイミングで画面に通知する自作コマンドを作成したのですが、
https://zenn.dev/tkmfujise/articles/e8b3a9b9719422

それの Windows/WSL 版です。

SnoreToast をインストール

トーストを表示できれば何でもいいんですが、以下を使いました。
https://github.com/KDE/snoretoast

ok コマンドを作成

D:\Apps ディレクトリに保存したので、/mnt/d/Apps/snoretoast_v0.5.2-x64/bin/SnoreToast.exe になっていますが、お使いの環境に合わせて変えてください。

~/.local/bin/ok
#!/bin/sh

if [ $# -ne 0 ]; then
  command="\`$@\`"
else
  command='The task'
fi
# echo $command

/mnt/d/Apps/snoretoast_v0.5.2-x64/bin/SnoreToast.exe -close SnoreToast >/dev/null
/mnt/d/Apps/snoretoast_v0.5.2-x64/bin/SnoreToast.exe -t OK -m "$command was successfully done." -silent -w -id SnoreToast >/dev/null &

ng コマンドを作成

~/.local/bin/ok
#!/bin/sh

if [ $# -ne 0 ]; then
  command="\`$@\`"
else
  command='The task'
fi
# echo $command

/mnt/d/Apps/snoretoast_v0.5.2-x64/bin/SnoreToast.exe -close SnoreToast >/dev/null
/mnt/d/Apps/snoretoast_v0.5.2-x64/bin/SnoreToast.exe -t NG -m "$command was failed." -silent -w -id SnoreToast >/dev/null &

subscribe コマンドを作成

~/.local/bin/subscribe
#!/bin/sh

$@ && (ok $@) || (ng $@)

使い方(例)

$ sudo apt update && subscribe sudo apt upgrade -y

以上です。

Discussion