So I saw this in the TODO file:
>man
> It would be nice to have a man command. Not one that handles troff or
> anything, just one that can handle preformatted ascii man pages, possibly
> compressed. This could probably be a script in the extras directory that
> calls cat/zcat/bzcat | less
>
> (How doclifter might work into this is anybody's guess.)
So here is my first test version. I've verified it works with busybox 1.13.
Obviously it can be trimmed down some to save space and needs proper
legal wordage.
#!/bin/sh
## man - a simple man program for busybox
## this does NOT handle nroff pages,
## only simple asii pages
## Copyright (c) 2008, Matthew Hiles, insert proper busybox license here.
## requires: find, head, sort, tr, grep/egrep, and less
## optional: zcat, bzcat
#check to see if MANPATH is set and show warning if not
if [ -z $MANPATH ]; then
echo "Warning: MANPATH is not set, assuming /usr/local/man." >&2
MANPATH=/usr/local/man
fi
case $# in
1)
pagearg=$1 ;;
2)
section=man$1
pagearg=$2 ;;
*)
echo "Usage: man [section] <manpage>"
exit
esac
pagefile=$( find $( echo "$MANPATH" | tr ":" " " ) | grep "/$section"
| grep "/$pagearg\." | sort | head -n1 )
if [ -z $pagefile ]; then
echo -n No manual entry for $pagearg
[ $section ] && echo -n " in section $1 of the manual."
echo
exit
fi
#okay, found the page, try decompressing and displaying
case $pagefile in
*.bz2)
bzcat $pagefile | less ;;
*.gz)
zcat $pagefile | less ;;
*)
less $pagefile ;;
esac
_______________________________________________
busybox mailing list
[email protected]
http://busybox.net/cgi-bin/mailman/listinfo/busybox