54 lines
		
	
	
		
			917 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			917 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| #
 | |
| # whatis/apropos 1.3 - search whatis(5) database for commands
 | |
| #							Author: Kees J. Bot
 | |
| # BUGS
 | |
| #	whatis file must be as if created by makewhatis(8).
 | |
| #
 | |
| # This version includes a fix by Michael Haardt originally posted to 
 | |
| # comp.os.minix in July 1999.  Fixes for grep provided by Michael in May
 | |
| # 1999 caused whatis to break, this is now fixed.   (ASW 2004-12-12)
 | |
| 
 | |
| all='exit 0'
 | |
| 
 | |
| case "$1" in
 | |
| -a)	all="found='exit 0'"
 | |
| 	shift
 | |
| esac
 | |
| 
 | |
| case $#:$0 in
 | |
| 1:*whatis)
 | |
| 	;;
 | |
| 1:*apropos)
 | |
| 	all="found='exit 0'"
 | |
| 	;;
 | |
| *)	echo "Usage: `basename $0` [-a] <keyword>" >&2
 | |
| 	exit 1
 | |
| esac
 | |
| 
 | |
| IFS=":$IFS"
 | |
| MANPATH="${MANPATH-/usr/local/man:/usr/man}"
 | |
| 
 | |
| found=
 | |
| 
 | |
| for m in $MANPATH
 | |
| do
 | |
| 	for w in $m/whatis
 | |
| 	do
 | |
| 		test -f $w || continue
 | |
| 
 | |
| 		case $0 in
 | |
| 		*whatis)
 | |
| 			grep '^\('$1'\|[^(]* '$1'\)[ ,][^(]*(' $w && eval $all
 | |
| 			;;
 | |
| 		*apropos)
 | |
| 			grep -i "$1" $w && eval $all
 | |
| 		esac
 | |
| 	done
 | |
| done
 | |
| 
 | |
| $found
 | |
| 
 | |
| echo "`basename $0`: $1: not found" >&2
 | |
| exit 1
 | 
