MacでSSH接続先ホストに基いてTerminalのBackgroundの色を変える方法をメモしておきます。
sshシェル作成
/usr/local/bin/sshを作成し、以下の様な内容を記載。実行パーミッションを追加
#!/bin/bash
HOSTNAME=`echo $@ | sed s/.*@//`
set_bg () {
osascript -e "tell application \"Terminal\" to set background color of window 1 to $1"
}
#ssh接続切ったあと、緑色に変わる
on_exit () {
set_bg "{0, 25000, 0, 50000}"
}
trap on_exit EXIT
case $HOSTNAME in
# live-から始まるホストの場合は、赤に変わる
live-*) set_bg "{30000, 0, 0, 50000}" ;;
# stg-から始まるホストの場合は、緑に変わる
stg-*) set_bg "{0, 45000, 0, 50000}" ;;
# それ以外の場合は、青に変わる
*) set_bg "{0, 0, 30000, 50000}" ;;
esac
/usr/bin/ssh "$@"
PATHに/usr/local/binが/usr/binの先頭に書く
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin