Macで.commandファイルを正しく書く方法

.commandファイルから実行するとTerminalのカラーリングが反映されなくなってしまいましたが、その解決方法がわかりました。

お作法的に正しい書き方はこんな感じかと思います。

#!/bin/sh

cd `dirname $0`
source ~/.bash_profile

# ここに実際の処理を記述します。 #

osascript -e 'display notification "処理が完了しました。" with title "タイトル" subtitle "サブタイトル"'
exit

1行ずつ解説

#!/bin/sh

これを書いておかないとあとで.bash_profileを読み込む設定を書いても読み込んでくれません。

cd `dirname $0`

.commandファイルのある場所にcdします。

source ~/.bash_profile

あなたの秘伝のタレを読み込みます。

osascript -e 'display notification "処理が完了しました。" with title "タイトル" subtitle "サブタイトル"'

処理終わったら通知してあげると便利だと思います。

exit

killall Terminal

と書くこともできますがこっちにしてしまうとダブルクリックで.commandファイルを実行するケースではなく Terminal上で.commandファイルを実行した際にもTerminalが閉じてしまうので、exitの方が便利ではないかと思います。