#! /bin/bash
if [ "X$1" == "X" ]; then
- NAME=$(grep '^\*' ~/.siglist | head -1 | tr -s '\t' ' ' | cut -d' ' -f2)
- if [ "X$NAME" == "X" ]; then
- echo "Usage: $0 signature-name [pattern]" 2>&1
+ NAME=$(grep '^\*' ~/.siglist | head -n 1 | tr -s '\t' ' ' | cut -d' ' -f2)
+ if [ -z "$NAME" ]; then
+ echo "Usage: $0 signature-group [pattern]" >&2
exit 1
fi
else
NAME=$1
fi
-ARGS=$(grep ^$NAME'\>' ~/.siglist | head -1 | tr -s '\t' ' ' | cut -d' ' -f2-)
-BASEDIR=$(eval echo $(echo $ARGS | cut -d' ' -f1))
-STATICFILE=$(eval echo $(echo $ARGS | cut -d' ' -f2))
-FORTUNEARGS=$(eval echo $(echo $ARGS | cut -d' ' -f3-))
+ARGS=$(grep "^$NAME\\>" ~/.siglist | head -n 1 | tr -s '\t' ' ' | cut -d' ' -f2-)
+if [ -z "$ARGS" ]; then
+ echo "No such signature group: $NAME" >&2
+ exit 1
+fi
+
+BASEDIR=$(eval echo $(echo "$ARGS" | cut -d' ' -f1))
+STATICFILE=$(eval echo $(echo "$ARGS" | cut -d' ' -f2))
+FORTUNEARGS=$(eval echo $(echo "$ARGS" | cut -d' ' -f3-))
-cd $BASEDIR
-cat $STATICFILE
-if [ "$2" ]; then fortune $FORTUNEARGS -m $2; else fortune $FORTUNEARGS; fi
+cd "$HOME/$BASEDIR"
+cat "$STATICFILE"
+if [ "$2" ]; then fortune $FORTUNEARGS -m "$2"; else fortune $FORTUNEARGS; fi