Commit | Line | Data |
---|---|---|
b8a73b3a KM |
1 | #! /bin/sh |
2 | # | |
96d0feec | 3 | # @(#)spell.sh 1.3 (Berkeley) 83/09/10 |
b8a73b3a | 4 | # |
6379139f KM |
5 | : V data for -v, B flags, D dictionary, S stop, H history, F files, T temp |
6 | V=/dev/null B= F= | |
7 | S=/usr/dict/hstop H=/dev/null T=/tmp/spell.$$ | |
8 | next="F=$F@" | |
9 | trap "rm -f $T ${T}a ; exit" 0 | |
b8a73b3a KM |
10 | for A in $* |
11 | do | |
12 | case $A in | |
96d0feec | 13 | -v) B="$B@-v" |
b8a73b3a | 14 | V=${T}a ;; |
96d0feec | 15 | -x) B="$B@-x" ;; |
b8a73b3a | 16 | -b) D=${D-/usr/dict/hlistb} |
96d0feec | 17 | B="$B@-b" ;; |
6379139f KM |
18 | -d) next="D=" ;; |
19 | -s) next="S=" ;; | |
20 | -h) next="H=" ;; | |
21 | -*) echo "Bad flag for spell: $A" | |
22 | echo "Usage: spell [ -v ] [ -b ] [ -d hlist ] [ -s hstop ] [ -h spellhist ]" | |
23 | exit ;; | |
24 | *) eval $next"$A" | |
25 | next="F=$F@" ;; | |
b8a73b3a | 26 | esac |
6379139f KM |
27 | done |
28 | IFS=@ | |
29 | case $H in | |
30 | /dev/null) deroff -w $F | sort -u | /usr/lib/spell $S $T | | |
31 | /usr/lib/spell ${D-/usr/dict/hlista} $V $B | | |
32 | sort -u +0f +0 - $T ;; | |
33 | *) deroff -w $F | sort -u | /usr/lib/spell $S $T | | |
34 | /usr/lib/spell ${D-/usr/dict/hlista} $V $B | | |
35 | sort -u +0f +0 - $T | tee -a $H | |
36 | who am i >> $H 2> /dev/null ;; | |
37 | esac | |
b8a73b3a | 38 | case $V in |
6379139f | 39 | /dev/null) exit ;; |
b8a73b3a | 40 | esac |
96d0feec | 41 | sed '/^\./d' $V | sort -u +1f +0 |