-
Notifications
You must be signed in to change notification settings - Fork 9
/
hman.sh
executable file
·96 lines (88 loc) · 2.35 KB
/
hman.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#!/bin/sh
#
# hman - interface to the man2html scripts
#
# Michael Hamilton <[email protected]>, Apr 1996
# Andries Brouwer <[email protected]>, Jan 1998.
#
# Usage examples:
# hman - get start page
# hman man2html - get man page for man2html
# hman 7 locale - get section 7 man page for locale
# hman 1 - section 1 index of names only
# hman 3 index - section 3 index names+descriptions
# hman -k editor - search all man pages for some string
# hman -P arena ./twm.man - specify browser; specify man page
#
# hman from %version%
#
if [ x"$1" = x"-v" -o x"$1" = x"-V" ]; then
echo "`basename $0` from %version%"
exit 0
fi
# The user has to set MANHTMLPAGER (or he will get httpd-free lynx).
# Pick your favorite browser: lynx, xmosaic, netscape, arena, amaya, grail, ...
BROWSER=${MANHTMLPAGER-lynxcgi}
#
# If the man pages are on a remote host, specify it in MANHTMLHOST.
HOST=${MANHTMLHOST-localhost}
# Perhaps the browser was specified on the command line?
if [ $# -gt 1 -a "$1" = "-P" ]; then
BROWSER="$2"
shift; shift
fi
# Perhaps the host was specified on the command line?
if [ $# -gt 1 -a "$1" = "-H" ]; then
HOST="$2"
shift; shift
fi
# Interface to a live (already running) netscape browser.
function nsfunc () {
if ( /bin/ps xc | grep -q 'netscape$' ) ; then
if [ -x netscape-remote ] ; then
exec netscape-remote -remote "openURL($1,new_window)"
else
exec netscape -remote "openURL($1,new_window)"
fi
else
netscape $1 &
fi
}
case $BROWSER in
lynxcgi)
BROWSER=lynx
CG="lynxcgi:/home/httpd/cgi-bin/man"
;;
netscape)
BROWSER=nsfunc
CG="http://$HOST/cgi-bin/man"
;;
*)
CG="http://$HOST/cgi-bin/man"
;;
esac
case $# in
0) $BROWSER $CG/man2html ;;
1) case "$1" in
1|2|3|4|5|6|7|8|l|n)
$BROWSER "$CG/mansec?$CG+$1" ;;
/*)
$BROWSER "$CG/man2html?$1" ;;
*/*)
$BROWSER "$CG/man2html?$PWD/$1" ;;
*)
$BROWSER "$CG/man2html?$1" ;;
esac ;;
2) case "$1" in
-k)
$BROWSER "$CG/mansearch?$2" ;;
*)
if [ "$2" = index ]; then
$BROWSER "$CG/manwhatis?$CG+$1"
else
$BROWSER "$CG/man2html?$1+$2"
fi ;;
esac ;;
*) echo "bad number of args" ;;
esac
exit 0