Annotation of src/games/wtf/wtf, Revision 1.16
1.1 mrg 1: #!/bin/sh
2: #
1.16 ! jschauma 3: # $NetBSD: wtf,v 1.15 2007/08/06 21:14:36 hubertf Exp $
1.1 mrg 4: #
5: # Public domain
6: #
7:
1.14 hubertf 8: PROGNAME=`basename $0`
9:
1.9 jmmv 10: usage() {
1.14 hubertf 11: echo "usage: $PROGNAME [-f dbfile] [is] <acronym>"
1.9 jmmv 12: exit 1
13: }
14:
1.12 hubertf 15: args=`getopt f: $*`
1.9 jmmv 16: if [ $? -ne 0 ]; then
17: usage
18: fi
19: set -- $args
20: while [ $# -gt 0 ]; do
21: case "$1" in
22: -f)
1.16 ! jschauma 23: acronyms="$2 $acronyms"; shift
1.11 jmmv 24: ;;
1.9 jmmv 25: --)
26: shift; break
27: ;;
28: esac
29: shift
30: done
31:
1.12 hubertf 32: if [ "$1" = "is" ] ; then
1.1 mrg 33: shift
34: fi
35:
36: if [ $# -lt 1 ] ; then
1.9 jmmv 37: usage
38: fi
39:
1.16 ! jschauma 40: if [ "$acronyms" = "" ]; then
! 41: acronyms=${ACRONYMDB:-`ls /usr/share/misc/acronyms* 2>/dev/null`}
! 42: fi
! 43:
! 44: if [ "$acronyms" = "" ]; then
! 45: echo "$PROGNAME: acronyms database not found!" >&2
! 46: exit 1
! 47: fi
! 48:
! 49:
! 50: for f in $acronyms ; do
1.12 hubertf 51: if [ ! -f $f ]; then
1.14 hubertf 52: echo "$PROGNAME: cannot open acronyms database file \`$f'" >&2
1.12 hubertf 53: exit 1
54: fi
55: done
1.1 mrg 56:
57: rv=0
58: while [ $# -gt 0 ] ; do
1.12 hubertf 59: # Search acronyms list first
1.1 mrg 60: target=`echo $1 | tr '[a-z]' '[A-Z]'`
1.14 hubertf 61: ans=`fgrep -h $target $acronyms 2>/dev/null \
1.12 hubertf 62: | sed -ne "\|^$target[[:space:]]|s|^$target[[:space:]]*||p"`
1.1 mrg 63: if [ "$ans" != "" ] ; then
64: echo "$target: $ans"
1.12 hubertf 65: shift ; continue
1.1 mrg 66: fi
1.12 hubertf 67:
68: # Try whatis(1) next
69: ans=`whatis $1 2>/dev/null`
70: if [ $? -eq 0 ] ; then
1.14 hubertf 71: echo "$ans" | sort -u
1.12 hubertf 72: shift ; continue
73: fi
74:
75: # Try pkg_info(1) next
76: ans=`pkg_info -qc $1 2> /dev/null`
77: if [ $? -eq 0 ] ; then
78: echo "$1: $ans"
79: shift ; continue
80: fi
81:
1.15 hubertf 82: # Try querying pkgsrc's help facility next
83: if [ -f ../../mk/bsd.pkg.mk ] ; then
84: ans=`make help topic="$1"`
85: if [ $? -eq 0 ] ; then
86: echo "$1: $ans"
87: shift ; continue
88: fi
89: fi
90:
1.12 hubertf 91: # Give up!
1.14 hubertf 92: echo "$PROGNAME: I don't know what $1 means!" 1>&2
1.12 hubertf 93: rv=1
94:
1.1 mrg 95: shift
96: done
97: exit $rv
CVSweb <webmaster@jp.NetBSD.org>