Wrapper to use custom p4 scripts.
[profile.git] / opt / bin / sshcolourterm
1 #!/bin/bash
2
3 SSHCOLOURS=~/.ssh/colours
4
5 while getopts ":t:" opt; do
6   case "$opt" in
7     t) title="$OPTARG";;
8   esac
9 done
10 shift $((OPTIND-1))
11
12 [ -z "$title" ] && title="$1"
13
14 fqdn=${1##*@}
15 colour=
16
17 # Get colour by regex.
18 if [ -z "$colour" ]; then
19   for path in $(ls "$SSHCOLOURS" | lensort -r); do
20     re=${path##*/}
21     echo "$fqdn" | grep -qs "$re" || continue
22     colour=$(readlink "$SSHCOLOURS/$path")
23     break
24   done
25 fi
26
27 # Get colour by netgroup.
28 if [ -z "$colour" ]; then
29   for netgroup in $(ls "$SSHCOLOURS" | grep ^\@); do
30     if netgroups $netgroup ${fqdn%%.*} &>/dev/null; then
31       colour=$(readlink "$SSHCOLOURS/$netgroup")
32       break
33     fi
34   done
35 fi
36
37 if [ ! -z "$colour" ]; then
38   colour=${colour##*/}
39   colour=${colour##*:}
40 fi
41
42 [ -n "$colour" ] && colour="-bg $colour -bd $colour"
43 exec ${SSHTERM:-xterm} ${SSHTERM_TITLE:--title} "$title" \
44      $colour ${SSHTERM_EXEC:--e} ${SSHTERM_SSH:-ssh} ${1+"$@"}