Unicode stuff.
[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 fi
32
33 [ -n "$colour" ] && colour="-bg $colour"
34 exec ${SSHTERM:-xterm} ${SSHTERM_TITLE:--title} "$1" \
35      $colour ${SSHTERM_EXEC:--e} ${SSHTERM_SSH:-ssh} ${1+"$@"}