xref: /original-bsd/usr.bin/spell/spell.sh (revision 18f6d767)
1#! /bin/sh
2#
3#	@(#)spell.sh	1.3	(Berkeley)	83/09/10
4#
5: V data for -v, B flags, D dictionary, S stop, H history, F files, T temp
6V=/dev/null		B=			F=
7S=/usr/dict/hstop	H=/dev/null		T=/tmp/spell.$$
8next="F=$F@"
9trap "rm -f $T ${T}a ; exit" 0
10for A in $*
11do
12	case $A in
13	-v)	B="$B@-v"
14		V=${T}a ;;
15	-x)	B="$B@-x" ;;
16	-b) 	D=${D-/usr/dict/hlistb}
17		B="$B@-b" ;;
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@" ;;
26	esac
27done
28IFS=@
29case $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 ;;
37esac
38case $V in
39/dev/null)	exit ;;
40esac
41sed '/^\./d' $V | sort -u +1f +0
42