chiark / gitweb /
add ubuntu-paste to send data to paste.ubuntu.com
[bin.git] / get-sig
1 #! /bin/sh
2
3 if [ -z "$1" ]; then
4   NAME=$(grep '^\*' ~/.siglist | head -n 1 | tr -s '\t' ' ' | cut -d' ' -f2)
5   if [ -z "$NAME" ]; then
6     echo "Usage: $0 signature-group [pattern]" >&2
7     exit 1
8   fi
9 else
10   NAME=$1
11 fi
12
13 ARGS=$(grep "^$NAME\\>" ~/.siglist | head -n 1 | tr -s '\t' ' ' | cut -d' ' -f2-)
14 if [ -z "$ARGS" ]; then
15     echo "No such signature group: $NAME" >&2
16     exit 1
17 fi
18
19 BASEDIR=$(eval echo $(echo "$ARGS" | cut -d' ' -f1))
20 STATICFILE=$(eval echo $(echo "$ARGS" | cut -d' ' -f2))
21 FORTUNEARGS=
22 for arg in $(eval echo $(echo "$ARGS" | cut -d' ' -f3-)); do
23     case $arg in
24         ./*)
25             FORTUNEARGS="${FORTUNEARGS:+$FORTUNEARGS }$HOME/$BASEDIR/${arg#./}"
26             ;;
27         *)
28             FORTUNEARGS="${FORTUNEARGS:+$FORTUNEARGS }$arg"
29             ;;
30     esac
31 done
32
33 cd "$HOME/$BASEDIR"
34 cat "$STATICFILE"
35 if [ "$2" ]; then fortune $FORTUNEARGS -m "$2"; else fortune $FORTUNEARGS; fi