0cf4b9fe0e92474d00ba9ab70c1bb6dfe95f1ec9
[profile.git] / opt / bin / sshcolourterm
1 #!/bin/bash
2
3 SSHCOLOURS=~/.ssh/colours
4
5 fqdn=${1##*@}
6 colour=
7
8 # Get colour by regex.
9 if [ -z "$colour" ]; then
10   for path in $(ls "$SSHCOLOURS" | lensort -r); do
11     re=${path##*/}
12     echo "$fqdn" | grep -qs "$re" || continue
13     colour=$(readlink "$SSHCOLOURS/$path")
14     break
15   done
16 fi
17
18 # Get colour by netgroup.
19 if [ -z "$colour" ]; then
20   for netgroup in $(ls "$SSHCOLOURS" | grep ^\@); do
21     if netgroups $netgroup ${fqdn%%.*} 2>/dev/null; then
22       colour=$(readlink "$SSHCOLOURS/$netgroup")
23       break
24     fi
25   done
26 fi
27
28 if [ ! -z "$colour" ]; then
29   colour=${colour##*/}
30   colour=${colour##*:}
31   echo -e "\033]49;$colour\007"
32   clear
33 fi
34
35 exec ${SSHTERM_SSH:-ssh} ${1+"$@"}