Added all of the MH sources, including RCS files, in
[mmh] / docs / historical / mh-6.8.5 / doc / msh.me
1 .\"     This file is automatically generated.  Do not edit!
2 .\" @(#)$Id: msh.rf,v 1.9 1992/10/16 21:36:14 jromine Exp $
3 .SC MSH 1
4 .NA
5 msh \- MH shell (and BBoard reader)
6 .SY
7 msh
8 \%[\-prompt\ string]
9 \%[\-scan] \%[\-noscan]
10 \%[\-topcur] \%[\-notopcur]
11 \%[file]
12 \%[\-help]
13 .DE
14 \fImsh\fR is an interactive program that
15 implements a subset of the normal \fIMH\fR commands
16 operating on a single file in \fIpackf\fR'd format.
17 That is, \fImsh\fR is used to read a file that contains a number of
18 messages,
19 as opposed to the standard
20 \fIMH\fR
21 style of reading a number of files,
22 each file being a separate message in a folder.
23 \fImsh\fR's chief advantage is that the normal \fIMH\fR style does not allow
24 a file to have more than one message in it.
25 Hence, \fImsh\fR is ideal for reading \fIBBoards\fR,
26 as these files are delivered by the transport system in this format.
27 In addition, \fImsh\fR can be used on other files,
28 such as message archives which have been \fIpack\fRed (see \fIpackf\fR\0(1)).
29 Finally, \fImsh\fR is an excellent \fIMH\fR
30 tutor.
31 As the only commands available to the user are \fIMH\fR commands,
32 this allows \fIMH\fR beginners to concentrate on how commands to
33 \fIMH\fR are formed and (more or less) what they mean.
34
35 When invoked, \fImsh\fR reads the named file, and enters a command loop.
36 The user may type most of the normal
37 \fIMH\fR
38 commands.
39 The syntax and semantics of these commands typed to \fImsh\fR are
40 identical to their \fIMH\fR
41 counterparts.  In cases where the nature of \fImsh\fR would be inconsistent
42 (e.g., specifying a `+folder' with some commands),
43 \fImsh\fR will duly inform the user.
44 The commands that \fImsh\fR currently supports
45 (in some slightly modified or restricted forms) are:
46 .sp 1
47 .in +.5i
48 ali
49 .br
50 burst
51 .br
52 comp
53 .br
54 dist
55 .br
56 folder
57 .br
58 forw
59 .br
60 inc
61 .br
62 mark
63 .br
64 mhmail
65 .br
66 mhn
67 .br
68 msgchk
69 .br
70 next
71 .br
72 packf
73 .br
74 pick
75 .br
76 prev
77 .br
78 refile
79 .br
80 repl
81 .br
82 rmm
83 .br
84 scan
85 .br
86 send
87 .br
88 show
89 .br
90 sortm
91 .br
92 whatnow
93 .br
94 whom
95 .in -.5i
96
97 In addition,
98 \fImsh\fR has a \*(lqhelp\*(rq command which gives a brief overview.
99 To terminate \fImsh\fR, type CTRL\-D, or use the \*(lqquit\*(rq command.
100 If \fImsh\fR is being invoked from \fIbbc\fR,
101 then typing CTRL\-D will also tell \fIbbc\fR to exit as well,
102 while using the \*(lqquit\*(rq command will return control to \fIbbc\fR,
103 and \fIbbc\fR will continue examining the list of BBoards
104 that it is scanning.
105
106 If the file is writable and has been modified,
107 then using \*(lqquit\*(rq will query the user if the file should be updated.
108
109 The `\-prompt string' switch sets the prompting string for \fImsh\fR.
110
111 You may wish to use an alternate \fIMH\fR profile for the commands that
112 \fImsh\fR executes;
113 see \fImh-profile\fR\0(5) for details about the \fB$MH\fR envariable.
114
115 When invoked from \fIbbc\fR,
116 two special features are enabled:
117 First,
118 the `\-scan' switch directs \fImsh\fR to do a `scan\0unseen' on
119 start\-up if new items are present in the BBoard.
120 This feature is best used from \fIbbc\fR,
121 which correctly sets the stage.
122 Second,
123 the \fImark\fR command in \fImsh\fR acts specially when you are reading
124 a BBoard,
125 since \fImsh\fR will consult the sequence \*(lqunseen\*(rq in determining
126 what messages you have actually read.
127 When \fImsh\fR exits, it reports this information to \fIbbc\fR.
128 In addition, if you give the \fImark\fR command with no arguments,
129 \fImsh\fR will interpret it
130 as `mark\0\-sequence\0unseen\0\-delete\0\-nozero\0all'
131 Hence, to discard all of the messages in the current BBoard you're
132 reading, just use the \fImark\fR command with no arguments.
133
134 Normally, the \*(lqexit\*(rq command is identical to the \*(lqquit\*(rq
135 command in \fImsh\fR.
136 When run under \fIbbc\fR however, \*(lqexit\*(rq directs \fImsh\fR to mark
137 all messages as seen and then \*(lqquit\*(rq.
138 For speedy type\-in,
139 this command is often abbreviated as just \*(lqe\*(rq.
140
141 When invoked from \fIvmh\fR,
142 another special feature is enabled:
143 The `topcur' switch directs \fImsh\fR to have the current message
144 \*(lqtrack\*(rq the top line of the \fIvmh\fR scan window.
145 Normally, \fImsh\fR has the current message \*(lqtrack\*(rq the center of the
146 window (under `\-notopcur', which is the default).
147
148 \fImsh\fR supports an output redirection facility.
149 Commands may be followed by one of
150
151 .nf
152 .in +.5i
153 .ta \w'| \fIcommand\fR  'u
154 ^> \fIfile\fR~^write output to \fIfile\fR
155 ^>> \fIfile\fR~^append output to \fIfile\fR
156 ^| \fIcommand\fR~^pipe output to UNIX \fIcommand\fR
157 .re
158 .in -.5i
159 .fi
160
161 If \fIfile\fR starts with a `\~' (tilde),
162 then a \fIcsh\fR-like expansion takes place.
163 Note that \fIcommand\fR is interpreted by \fIsh\fR\0(1).
164 Also note that \fImsh\fR does NOT support
165 history substitutions, variable substitutions, or alias substitutions.
166
167 When parsing commands to the left of any redirection symbol,
168 \fImsh\fR will honor `\\' (back\-slash) as the quote next\-character symbol,
169 and `"' (double\-quote) as quote\-word delimiters.
170 All other input tokens are separated by whitespace
171 (spaces and tabs).
172 .Fi
173 ^$HOME/\&.mh\(ruprofile~^The user profile
174 ^/opt/mh-6.8.5/lib/mtstailor~^tailor file
175 .Pr
176 ^Path:~^To determine the user's MH directory
177 .Ps
178 ^Msg\-Protect:~^To set mode when creating a new `file'
179 .Ps
180 ^fileproc:~^Program to file messages
181 .Ps
182 ^showproc:~^Program to show messages
183 .Sa
184 bbc(1)
185 .De
186 `file' defaults to \*(lq./msgbox\*(rq
187 .Ds
188 `\-prompt\ (msh)\ '
189 .Ds
190 `\-noscan'
191 .Ds
192 `\-notopcur'
193 .Co
194 None
195 .Bu
196 The argument to the `\-prompt' switch must be interpreted as a single token
197 by the shell that invokes \fImsh\fR.
198 Therefore,
199 one must usually place the argument to this switch inside double\-quotes.
200
201 There is a strict limit of messages per file in \fIpackf\fR'd format which
202 \fImsh\fR can handle.
203 Usually, this limit is 1000 messages.
204
205 Please remember that \fImsh\fR is not the \fICShell\fR,
206 and that a lot of the nice facilities provided by the latter are not
207 present in the former.
208
209 In particular, \fImsh\fR does not understand back\-quoting,
210 so the only effective way to use \fIpick\fR inside \fImsh\fR is to always use
211 the `\-seq\0select' switch.
212 Clever users of \fIMH\fR will put the line
213
214 .ti +.5i
215 pick:\0\-seq\0select\0\-list
216
217 in their \&.mh\(ruprofile file so that \fIpick\fR works equally well from
218 both the shell and \fImsh\fR.
219
220 \fIsortm\fR always uses \*(lq\-noverbose\*(rq and
221 if \*(lq\-textfield\ field\*(lq is used, \*(lq\-limit 0\*(rq.
222
223 The \fImsh\fR program inherits most (if not all) of the bugs from the
224 \fIMH\fR commands it implements.
225 .En