Commit | Line | Data |
---|---|---|
38d82d6f C |
1 | .TH HELP 1 "28 May 1984" |
2 | .SH NAME | |
3 | help \- an easy way to find and use information | |
4 | .SH SYNOPSIS | |
5 | .B help [ \-d | |
6 | dirlist | |
7 | .B ] [ \-m | |
8 | key | |
9 | .B ] [ \-p | |
10 | prompt | |
11 | \fB] [ \-i ] [ \-n ] [ \-q ] [\fP | |
12 | topic | |
13 | .B [ | |
14 | subtopic | |
15 | .B [ | |
16 | subsubtopic | |
17 | \fB[ ... ] ] ] ]\fP | |
18 | .SH DESCRIPTION | |
19 | The primary purpose of | |
20 | .I help | |
21 | is to provide easy access to on-line documentation. | |
22 | In response to the command | |
23 | .BR help , | |
24 | the user is placed in an interactive | |
25 | setting and presented with a list of topics and a set of instructions | |
26 | to perform on them. | |
27 | To bypass the interactive part and just display what is known about | |
28 | a topic, enter the topic name on the command line after \fBhelp\fP. | |
29 | .PP | |
30 | A topic is displayed by typing its name or a unique abbreviation, | |
31 | and topics may be requested and listed with numbers. | |
32 | Topics may be saved in a file or printed on the lineprinter. | |
33 | When you request a topic not on its list, | |
34 | .I help | |
35 | can search a set of indexes into its own files, | |
36 | the Unix Programmer's Manual, and various optional off-line sources. | |
37 | References found in this way can be displayed if material is available on-line. | |
38 | All topic requests, including ones which yield no useful information, | |
39 | are automatically recorded for later analysis by system maintainers. | |
40 | Any user may effectively add topics to \fBhelp\fP's knowledge base | |
41 | from that user's point of view by suitably defining the environment | |
42 | variable HELPPOOL. | |
43 | Thus each user can have a private cache of topic files accessible with | |
44 | .IR help . | |
45 | .PP | |
46 | In general the purpose of | |
47 | .I help | |
48 | is to provide a way to move around easily in a set of | |
49 | hierarchical databases, namely, one or more Unix file system subtrees. | |
50 | Although an inherent disadvantage of such databases is that data may be | |
51 | hidden within the hierarchies, the program | |
52 | overcomes this to some extent with its indexing feature. | |
53 | .I Help | |
54 | can be made to serve in special purpose | |
55 | applications without programmer intervention. | |
56 | .PP | |
57 | The following technical description may be of little interest to casual users. | |
58 | .PP | |
59 | The default knowledge base consists of the files and directories in | |
60 | the subtree /usr/lib/help/cat. | |
61 | If the environment variable HELPPOOL contains a list of directories | |
62 | (separated by spaces or colons), their contents are merged with the | |
63 | default list to form the knowledge base. | |
64 | The entire directory pool may be overridden by giving a | |
65 | directory list in | |
66 | .I dirlist | |
67 | after the | |
68 | .B \-d | |
69 | option. | |
70 | .PP | |
71 | The interactive user prompt is by default the tail of argument zero from | |
72 | .IR exec (3), | |
73 | usually ``help'', followed by a list of directories leading | |
74 | to the current subtopic directory. | |
75 | A different prompt may be specified by making a link with a name of your | |
76 | choice to /usr/ucb/help or by specifying a name after the | |
77 | .B \-p | |
78 | option. | |
79 | A special prompt is used in help-index mode, | |
80 | which is entered when the user initiates an index search | |
81 | on a given keyword. | |
82 | The string ``-index'' and the keyword are added to the prompt | |
83 | in this case. | |
84 | .PP | |
85 | .I Help | |
86 | may be invoked with any number of | |
87 | .IR topic , | |
88 | .IR subtopic , | |
89 | .IR subsubtopic , | |
90 | etc., arguments, which may be abbreviated. | |
91 | Starting at the top directory level | |
92 | .I help | |
93 | tries to change to each directory named by successive arguments, | |
94 | interactively resolving non-unique abbreviations along the way. | |
95 | When a name corresponds to a file, the file is displayed and, unless | |
96 | .B \-i | |
97 | was specified, the program exits. | |
98 | If the standard output is not a terminal, | |
99 | .I help | |
100 | refuses to be interactive unless the | |
101 | .B \-i | |
102 | option is given. | |
103 | If the last valid name is a directory, or no topics were requested, | |
104 | .I help | |
105 | lists the topics at the current level and prompts for user input. | |
106 | .PP | |
107 | Maintainers of | |
108 | .IR help -style | |
109 | knowledge bases can use the | |
110 | .B \-m | |
111 | option to perform various custodial functions using shell scripts. | |
112 | Permission to use this option is restricted to those users who | |
113 | have write permission for one of the directories in the list specified | |
114 | after the | |
115 | .B \-d | |
116 | option or in HELPPOOL. | |
117 | If such a directory exists, it (the first one) becomes the value | |
118 | of the variable $subtree, and the local maintenance configuration | |
119 | is sourced from $subtree/../maint/config before most functions are performed. | |
120 | The function name, given as | |
121 | .I key | |
122 | after | |
123 | .B \-m , | |
124 | may be followed by other arguments (but no topic abbreviations | |
125 | are recognized here), in which case the script | |
126 | $subtree/../maint/do.\fIkey\fP is invoked. | |
127 | In the absence of | |
128 | .IR key , | |
129 | the word ``default'' is used, usually causing | |
130 | the valid function choices to be listed. | |
131 | .PP | |
132 | A simple macro package called | |
133 | .B \-mayday | |
134 | is used by authors to format | |
135 | .I help | |
136 | topic files. | |
137 | Its purpose is to standardize somewhat the display format for topic files, | |
138 | create a hook for the index generating script, and | |
139 | guarantee page headers and footers of a fixed length so that | |
140 | .I help | |
141 | will not strip out too much or too little of a topic file | |
142 | when displaying it without pagination. | |
143 | The only macro call required is the initializing macro, | |
144 | .BR .TI , | |
145 | followed by a filename and an optional date on the same line, | |
146 | and by a keyword-rich title (to be useful for the index) on the next line. | |
147 | A handful of other macros are provided for compatibility with other packages, | |
148 | though they are usually unnecessary. | |
149 | .PP | |
150 | Authors of | |
151 | .I help | |
152 | topics may make topic files into shell scripts by entering a # or : | |
153 | at the beginning of the first line. | |
154 | This causes help to run the script when that topic is requested, | |
155 | allowing programs to be demonstrated, questions asked, etc. | |
156 | There are maintenance scripts which will convert a script with embedded | |
157 | .I nroff | |
158 | source text into a script with embedded formatted text, provided | |
159 | the lines to be formatted appear between the special | |
160 | lines ``##nroff'' and ``##''. | |
161 | .PP | |
162 | Similarly, authors may use programs as topic files, the source | |
163 | being written in an aribtrary programming language. | |
164 | .PP | |
165 | The | |
166 | .B \-n | |
167 | option causes topics to be listed and accessible by numbers | |
168 | (and still accessible by unique abbreviations). | |
169 | The | |
170 | .B \-q | |
171 | option suppresses the instruction line appearing before each prompt, | |
172 | including the prompt printed by the | |
173 | .B \-d | |
174 | option to | |
175 | .IR more (1), | |
176 | through which long output is piped after multiple | |
177 | blank lines in a row are reduced to one. | |
178 | Both of these features are available as instructions from within | |
179 | .IR help . | |
180 | .PP | |
181 | The internal instructions are described below. | |
182 | .PP | |
183 | .TP 10 | |
184 | \fB% \fRor\fB $\fR | |
185 | Quit from help and return to the shell. | |
186 | Control-d works also. | |
187 | .TP 10 | |
188 | topic | |
189 | Display | |
190 | .I topic | |
191 | on the terminal. | |
192 | .I Topic | |
193 | may be the shortest unique name | |
194 | abbreviating a topic at the current level. | |
195 | .I Help | |
196 | prompts for more characters if a non-unique name is given, | |
197 | and asks to look in the index if the name abbreviates no topic. | |
198 | If a name is given as = in any context other than index mode, | |
199 | the current topic is used, | |
200 | where the current topic is defined to be the one most recently accessed. | |
201 | In index mode, a name of = has no special significance, and if | |
202 | .I topic | |
203 | is a unique abbreviation for a reference, that reference | |
204 | is displayed. | |
205 | .TP 10 | |
206 | topic\fB +\fP | |
207 | Enter index mode and see what more is known about | |
208 | .I topic | |
209 | by looking in the indexes. | |
210 | A missing topic is taken to be =. | |
211 | .TP 10 | |
212 | topic \fB>\fP file | |
213 | Save | |
214 | .I topic | |
215 | in | |
216 | .IR file . | |
217 | A missing topic is taken to be =, and a missing | |
218 | file is taken to be ``helpsave''. | |
219 | If | |
220 | .I file | |
221 | exists the topic file is appended to it. | |
222 | .TP 10 | |
223 | topic \fB>&\fP file | |
224 | Save | |
225 | .I topic | |
226 | in | |
227 | .IR file , | |
228 | preserving headers and footers. | |
229 | Normally, topics are stored as | |
230 | .IR nroff \'d | |
231 | text files, the headers and footers of | |
232 | which are suppressed when displayed on a terminal. | |
233 | They are preserved in | |
234 | .I file | |
235 | with this instruction. | |
236 | .TP 10 | |
237 | topic \fB|\fP lpr | |
238 | ||
239 | .I topic | |
240 | on the lineprinter, preserving headers and footers. | |
241 | The | |
242 | .I lpr | |
243 | string may be replaced with another program name (such as | |
244 | .I ipr | |
245 | or | |
246 | .IR vpr ) | |
247 | followed by one optional argument. | |
248 | A missing | |
249 | .I topic | |
250 | is taken to be the current topic, and a missing | |
251 | .I lpr | |
252 | is taken to be ``lpr''. | |
253 | .TP 10 | |
254 | .B ? | |
255 | List the internal instructions and describe them briefly. | |
256 | .TP 10 | |
257 | .B . | |
258 | List topics at the current level, indicating the current | |
259 | topic, if any, with an =. | |
260 | In index mode, list references for the current subject. | |
261 | .TP 10 | |
262 | .B .. | |
263 | Back up to and list the next higher level of topics. | |
264 | From index mode, this means leave index mode and continue | |
265 | at the previous topic level. | |
266 | .TP 10 | |
267 | .B / | |
268 | Back up to and list the top level of topics. | |
269 | From index mode, this means leave index mode and continue | |
270 | at the top level of topics. | |
271 | .TP 10 | |
272 | .B < | |
273 | Send comments or other input to the maintainer of | |
274 | .I help | |
275 | via electronic mail. | |
276 | .TP 10 | |
277 | .BR ! command | |
278 | Do a Unix | |
279 | .I command | |
280 | and then return to help. | |
281 | All occurrences of = inside | |
282 | .I command | |
283 | will be replaced by the current topic, if any. | |
284 | .TP 10 | |
285 | \fB\(**\fP flag \fBon\fP/\fBoff\fP | |
286 | Set | |
287 | .I flag | |
288 | .B on | |
289 | or | |
290 | .B off | |
291 | to adjust the behavior of the program. | |
292 | A missing value for | |
293 | .I flag | |
294 | means invert its current value, and \fB\(**\fP by itself | |
295 | means display the current flags, their settings, and | |
296 | what they signify. | |
297 | There are currently two flags, | |
298 | .B n | |
299 | and | |
300 | .BR q , | |
301 | which control the same things as the | |
302 | .B \-n | |
303 | and | |
304 | .B \-q | |
305 | options to | |
306 | .IR help . | |
307 | .SH FILES | |
308 | .nf | |
309 | /usr/lib/help/cat root of system \fIhelp\fP files | |
310 | /usr/lib/help/src nroff sources for system \fIhelp\fP files | |
311 | /usr/lib/help/log log of user requests; can be removed | |
312 | /usr/lib/help/maint maintenance scripts | |
313 | /usr/lib/help/cat/general general introduction to \fIhelp\fP | |
314 | /usr/lib/help/cat/index_\(** used to locate further references | |
315 | /usr/lib/tmac/tmac.ayday macro package for \fIhelp\fP files | |
316 | .fi | |
317 | .SH SEE\ ALSO | |
318 | environ(7), exec(3), learn(1), lpr(1), more(1), nroff(1) | |
319 | .SH AUTHOR | |
320 | John Kunze | |
321 | .SH BUGS | |
322 | Pathnames inside topic names are not recognized. | |
323 | ||
324 | .I Help | |
325 | is really just a weak, friendly shell. | |
326 | Strengthening it might be more painful and less useful | |
327 | than civilizing the shell. |