Поместите следующий скрипт в ~/bin/ssh
(убедитесь, что ~/bin/
выглядел раньше /usr/bin/
в вашем PATH):
#!/bin/sh
HOSTNAME=`echo $@ | sed s/.*@//`
set_bg () {
osascript -e "tell application \"Terminal\" to set background color of window 1 to $1"
}
on_exit () {
set_bg "{0, 0, 0, 50000}"
}
trap on_exit EXIT
case $HOSTNAME in
production1|production2|production3) set_bg "{45000, 0, 0, 50000}" ;;
*) set_bg "{0, 45000, 0, 50000}" ;;
esac
/usr/bin/ssh "$@"
Приведенный выше скрипт извлекает имя хоста из строки "username @ host" (предполагается, что вы входите на удаленные хосты с помощью "ssh user @ host").
Затем, в зависимости от имени хоста, он устанавливает либо красный фон (для производственных серверов), либо зеленый фон (для всех остальных). В результате все ваши окна ssh будут иметь цветной фон.
Я предполагаю, что здесь ваш фон по умолчанию черный, поэтому сценарий возвращает цвет фона обратно к черному при выходе из системы с удаленного сервера (см. «Trap on_exit»).
Обратите внимание, однако, что этот скрипт не отслеживает цепочку входов ssh с одного хоста на другой. В результате фон будет зеленым, если вы сначала войдете на тестовый сервер, а затем войдите в систему с него.