diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-09-13 09:43:21 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-09-13 09:43:21 -0700 |
commit | 5280f9a0cd1f9ba200422ebba65d1e0133410995 (patch) | |
tree | bf85ce4e320a769d7e0903ff52ccfde13a422666 /src/apropos | |
download | man-5280f9a0cd1f9ba200422ebba65d1e0133410995.tar.gz man-5280f9a0cd1f9ba200422ebba65d1e0133410995.tar.bz2 man-5280f9a0cd1f9ba200422ebba65d1e0133410995.zip |
Initial.man-1.6g
Diffstat (limited to 'src/apropos')
-rwxr-xr-x | src/apropos | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/src/apropos b/src/apropos new file mode 100755 index 0000000..a85968a --- /dev/null +++ b/src/apropos @@ -0,0 +1,88 @@ +#!/bin/sh +# +# apropos -- search the whatis database for keywords. +# whatis -- idem, but match only commands (as whole words). +# +# Copyright (c) 1990, 1991, John W. Eaton. +# Copyright (c) 1994-1999, Andries E. Brouwer. +# +# You may distribute under the terms of the GNU General Public +# License as specified in the README file that comes with the man +# distribution. +# +# apropos/whatis-1.5m aeb 2003-08-01 (from man-1.6g) +# +# keep old PATH - 000323 - Bryan Henderson +# also look in /var/cache/man - 030801 - aeb + +program=`basename $0` + +# When man pages in your favorite locale look to grep like binary files +# (and you use GNU grep) you may want to add the 'a' option to *grepopt1. +aproposgrepopt1='i' +aproposgrepopt2='' +whatisgrepopt1='iw' +whatisgrepopt2='^' +grepopt1=$aproposgrepopt1 +grepopt2=$aproposgrepopt2 + +if [ $# = 0 ] +then + echo "usage: $program keyword ..." + exit 1 +fi + +manpath=`man --path | tr : '\040'` + +if [ "$manpath" = "" ] +then + echo "$program: manpath is null" + exit 1 +fi + +args= +for arg in $*; do + case $arg in + --version|-V|-v) + echo "$program from man-1.6g" + exit 0 + ;; + --help|-h) + echo "usage: $program keyword ..." + exit 0 + ;; + -*) + echo "$program: $arg: unknown option" + exit 1 + ;; + *) + args="$args $arg" + esac +done + +while [ "$1" != "" ] +do + found=0 + for d in /var/cache/man $manpath /usr/lib + do + if [ -f $d/whatis ] + then + if grep -"$grepopt1" "$grepopt2""$1" $d/whatis + then + found=1 +# Some people are satisfied with a single occurrence +# But it is better to give all +# break + fi + fi + done + + if [ $found = 0 ] + then + echo "$1: nothing appropriate" + fi + + shift +done + +exit |