home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
apps
/
desktops
/
gmni1999
/
scripts
/
man.mup
< prev
next >
Wrap
Text File
|
1993-02-07
|
2KB
|
163 lines
#!mupfel
#
# MAN - Manualpages anzeigen
# Julian F. Reschke, 1. August 1992
#
# Dieses Shell-Script ist noch provisorisch und wird eventuell noch
# durch ein man.ttp ersetzt. Im Moment ist es jedoch ein gutes Beispiel
# und Testvehikel. Der Support fuer man -k ist noch nicht ganz fertig.
SUCCESS=nicht
output ()
{
case $1 in
cat* ) more -c $2 ;;
man* ) nroff -man $2 | more -c ;;
* ) more -c $2 ;;
esac
case $? in
0) SUCCESS=true
;;
*) exit
;;
esac
}
# Diagnose ausgeben
diag ()
{
if [ $SUCCESS = nicht ]
then
echo $0: keine Manual-Page zu $1 vorhanden >&2
exit 2
else
exit 0
fi
}
# In allen Manual-Sections nach $1 sehen
doman ()
{
for i in CAT* MAN* SUP* .
do
pushd .
if [ -d $i ]
then
cd $i
for j in $1.*
do
if [ -f $j ]
then
output $i $j
fi
done
fi
popd
done
}
doman_section ()
{
for i in *$1
do
pushd .
cd $i
for j in $2.*
do
if [ -f $j ]
then
output $i $j
fi
done
popd
done
}
# Nach Keyword suchen
do_key ()
{
for i in MAN*\whatis CAT*\whatis whatis
do
if [ -f $i ]
then
if grep -i $1 $i
then
SUCCESS=true
fi
fi
done
if [ $SUCCESS = nicht ]
then
echo $0: nichts gefunden
exit 1
fi
exit 0
}
# main
ARGUMENTS=$#
case $ARGUMENTS in
1) ARG1=$1
;;
2) ARG1=$1
ARG2=$2
;;
*) echo Gebrauch: $0 [Kapitel] Begriff
echo " " $0 -k Begriff
exit
esac
# Man-Path tokenisieren
MERK_IFS=$IFS
IFS=',;'
set -- $MANPATH
IFS=$MERK_IFS
case $ARGUMENTS in
1) for path
do
pushd .
cd $path
doman $ARG1
popd
done
diag $ARG1
;;
2) if [ $ARG1 = -k ]
then
for path
do
pushd .
cd $path
do_key $ARG2
popd
done
else
for path
do
pushd .
cd $path
doman_section $ARG1 $ARG2
popd
done
diag $ARG2
fi
;;
esac