X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~cjwatson/git?p=bin.git;a=blobdiff_plain;f=get-sig;h=1b1620d3e8815c5c61b6b648ab5668cac639b956;hp=24da9bb73b3b293fd525e57cdf462993ca39136f;hb=refs%2Fheads%2Fmaster;hpb=11b0e8cceae29f8cce2920e90ac9299119bf8e18 diff --git a/get-sig b/get-sig index 24da9bb..1b1620d 100755 --- a/get-sig +++ b/get-sig @@ -1,7 +1,7 @@ -#! /bin/bash +#! /bin/sh -if [ "X$1" == "X" ]; then - NAME=$(grep '^\*' ~/.siglist | head -1 | tr -s '\t' ' ' | cut -d' ' -f2) +if [ -z "$1" ]; then + 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 @@ -10,7 +10,7 @@ else NAME=$1 fi -ARGS=$(grep "^$NAME\\>" ~/.siglist | head -1 | tr -s '\t' ' ' | cut -d' ' -f2-) +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 @@ -18,7 +18,17 @@ 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-)) +FORTUNEARGS= +for arg in $(eval echo $(echo "$ARGS" | cut -d' ' -f3-)); do + case $arg in + ./*) + FORTUNEARGS="${FORTUNEARGS:+$FORTUNEARGS }$HOME/$BASEDIR/${arg#./}" + ;; + *) + FORTUNEARGS="${FORTUNEARGS:+$FORTUNEARGS }$arg" + ;; + esac +done cd "$HOME/$BASEDIR" cat "$STATICFILE"