0
|
1 .\" @(MHWARNING)
|
12
|
2 .\" @(#)$Id: msh.rf,v 1.1.1.1 2005/04/18 14:46:03 kono Exp $
|
0
|
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 @BEGIN: MIME
|
|
67 mhn
|
|
68 .br
|
|
69 @END: MIME
|
|
70 msgchk
|
|
71 .br
|
|
72 next
|
|
73 .br
|
|
74 packf
|
|
75 .br
|
|
76 pick
|
|
77 .br
|
|
78 prev
|
|
79 .br
|
|
80 refile
|
|
81 .br
|
|
82 repl
|
|
83 .br
|
|
84 rmm
|
|
85 .br
|
|
86 scan
|
|
87 .br
|
|
88 send
|
|
89 .br
|
|
90 show
|
|
91 .br
|
|
92 sortm
|
|
93 .br
|
|
94 whatnow
|
|
95 .br
|
|
96 whom
|
|
97 .in -.5i
|
|
98
|
|
99 In addition,
|
|
100 \fImsh\fR has a \*(lqhelp\*(rq command which gives a brief overview.
|
|
101 To terminate \fImsh\fR, type CTRL\-D, or use the \*(lqquit\*(rq command.
|
|
102 If \fImsh\fR is being invoked from \fIbbc\fR,
|
|
103 then typing CTRL\-D will also tell \fIbbc\fR to exit as well,
|
|
104 while using the \*(lqquit\*(rq command will return control to \fIbbc\fR,
|
|
105 and \fIbbc\fR will continue examining the list of BBoards
|
|
106 that it is scanning.
|
|
107
|
|
108 If the file is writable and has been modified,
|
|
109 then using \*(lqquit\*(rq will query the user if the file should be updated.
|
|
110
|
|
111 The `\-prompt string' switch sets the prompting string for \fImsh\fR.
|
|
112
|
|
113 You may wish to use an alternate \fIMH\fR profile for the commands that
|
|
114 \fImsh\fR executes;
|
|
115 see \fImh-profile\fR\0(5) for details about the \fB$MH\fR envariable.
|
|
116
|
|
117 When invoked from \fIbbc\fR,
|
|
118 two special features are enabled:
|
|
119 First,
|
|
120 the `\-scan' switch directs \fImsh\fR to do a `scan\0unseen' on
|
|
121 start\-up if new items are present in the BBoard.
|
|
122 This feature is best used from \fIbbc\fR,
|
|
123 which correctly sets the stage.
|
|
124 Second,
|
|
125 the \fImark\fR command in \fImsh\fR acts specially when you are reading
|
|
126 a BBoard,
|
|
127 since \fImsh\fR will consult the sequence \*(lqunseen\*(rq in determining
|
|
128 what messages you have actually read.
|
|
129 When \fImsh\fR exits, it reports this information to \fIbbc\fR.
|
|
130 In addition, if you give the \fImark\fR command with no arguments,
|
|
131 \fImsh\fR will interpret it
|
|
132 as `mark\0\-sequence\0unseen\0\-delete\0\-nozero\0all'
|
|
133 Hence, to discard all of the messages in the current BBoard you're
|
|
134 reading, just use the \fImark\fR command with no arguments.
|
|
135
|
|
136 Normally, the \*(lqexit\*(rq command is identical to the \*(lqquit\*(rq
|
|
137 command in \fImsh\fR.
|
|
138 When run under \fIbbc\fR however, \*(lqexit\*(rq directs \fImsh\fR to mark
|
|
139 all messages as seen and then \*(lqquit\*(rq.
|
|
140 For speedy type\-in,
|
|
141 this command is often abbreviated as just \*(lqe\*(rq.
|
|
142
|
|
143 When invoked from \fIvmh\fR,
|
|
144 another special feature is enabled:
|
|
145 The `topcur' switch directs \fImsh\fR to have the current message
|
|
146 \*(lqtrack\*(rq the top line of the \fIvmh\fR scan window.
|
|
147 Normally, \fImsh\fR has the current message \*(lqtrack\*(rq the center of the
|
|
148 window (under `\-notopcur', which is the default).
|
|
149
|
|
150 \fImsh\fR supports an output redirection facility.
|
|
151 Commands may be followed by one of
|
|
152
|
|
153 .nf
|
|
154 .in +.5i
|
|
155 .ta \w'| \fIcommand\fR 'u
|
|
156 ^> \fIfile\fR~^write output to \fIfile\fR
|
|
157 ^>> \fIfile\fR~^append output to \fIfile\fR
|
|
158 ^| \fIcommand\fR~^pipe output to UNIX \fIcommand\fR
|
|
159 .re
|
|
160 .in -.5i
|
|
161 .fi
|
|
162
|
|
163 If \fIfile\fR starts with a `\~' (tilde),
|
|
164 then a \fIcsh\fR-like expansion takes place.
|
|
165 Note that \fIcommand\fR is interpreted by \fIsh\fR\0(1).
|
|
166 Also note that \fImsh\fR does NOT support
|
|
167 history substitutions, variable substitutions, or alias substitutions.
|
|
168
|
|
169 When parsing commands to the left of any redirection symbol,
|
|
170 \fImsh\fR will honor `\\' (back\-slash) as the quote next\-character symbol,
|
|
171 and `"' (double\-quote) as quote\-word delimiters.
|
|
172 All other input tokens are separated by whitespace
|
|
173 (spaces and tabs).
|
|
174 .Fi
|
|
175 ^$HOME/\&.mh\(ruprofile~^The user profile
|
|
176 ^@(MHETCPATH)/mtstailor~^tailor file
|
|
177 .Pr
|
|
178 ^Path:~^To determine the user's MH directory
|
|
179 .Ps
|
|
180 ^Msg\-Protect:~^To set mode when creating a new `file'
|
|
181 .Ps
|
|
182 ^fileproc:~^Program to file messages
|
|
183 .Ps
|
|
184 ^showproc:~^Program to show messages
|
|
185 .Sa
|
|
186 bbc(1)
|
|
187 .De
|
|
188 `file' defaults to \*(lq./msgbox\*(rq
|
|
189 .Ds
|
|
190 `\-prompt\ (msh)\ '
|
|
191 .Ds
|
|
192 `\-noscan'
|
|
193 .Ds
|
|
194 `\-notopcur'
|
|
195 .Co
|
|
196 None
|
|
197 .Bu
|
|
198 The argument to the `\-prompt' switch must be interpreted as a single token
|
|
199 by the shell that invokes \fImsh\fR.
|
|
200 Therefore,
|
|
201 one must usually place the argument to this switch inside double\-quotes.
|
|
202
|
|
203 There is a strict limit of messages per file in \fIpackf\fR'd format which
|
|
204 \fImsh\fR can handle.
|
|
205 Usually, this limit is 1000 messages.
|
|
206
|
|
207 Please remember that \fImsh\fR is not the \fICShell\fR,
|
|
208 and that a lot of the nice facilities provided by the latter are not
|
|
209 present in the former.
|
|
210
|
|
211 In particular, \fImsh\fR does not understand back\-quoting,
|
|
212 so the only effective way to use \fIpick\fR inside \fImsh\fR is to always use
|
|
213 the `\-seq\0select' switch.
|
|
214 Clever users of \fIMH\fR will put the line
|
|
215
|
|
216 .ti +.5i
|
|
217 pick:\0\-seq\0select\0\-list
|
|
218
|
|
219 in their \&.mh\(ruprofile file so that \fIpick\fR works equally well from
|
|
220 both the shell and \fImsh\fR.
|
|
221
|
|
222 \fIsortm\fR always uses \*(lq\-noverbose\*(rq and
|
|
223 if \*(lq\-textfield\ field\*(lq is used, \*(lq\-limit 0\*(rq.
|
|
224
|
|
225 The \fImsh\fR program inherits most (if not all) of the bugs from the
|
|
226 \fIMH\fR commands it implements.
|
|
227 .En
|