msh - nmh shell (and BBoard reader)
msh [-prompt string] [-scan] [-noscan] [-topcur] [-notopcur] [file]
msh is an interactive program that implements a subset of the normal
nmh commands operating on a single file in packf'd format. That is,
msh is used to read a file that contains a number of messages, as
opposed to the standard nmh style of reading a number of files, each
file being a separate message in a folder. msh's chief advantage is
that the normal nmh style does not allow a file to have more than one
message in it. Hence, msh is ideal for reading BBoards, as these files
are delivered by the transport system in this format. In addition, msh
can be used on other files, such as message archives which have been
packed (see packf (1)). Finally, msh is an excellent nmh tutor. As
the only commands available to the user are nmh commands, this allows
nmh beginners to concentrate on how commands to nmh are formed and
(more or less) what they mean.
When invoked, msh reads the named file, and enters a command loop. The
user may type most of the normal nmh commands. The syntax and seman-
tics of these commands typed to msh are identical to their nmh counter-
parts. In cases where the nature of msh would be inconsistent (e.g.,
specifying a `+folder' with some commands), msh will duly inform the
user. The commands that msh currently supports (in some slightly modi-
fied or restricted forms) are:
In addition, msh has a "help" command which gives a brief overview. To
terminate msh, type CTRL-D, or use the "quit" command. If msh is being
invoked from bbc, then typing CTRL-D will also tell bbc to exit as
well, while using the "quit" command will return control to bbc, and
bbc will continue examining the list of BBoards that it is scanning.
If the file is writable and has been modified, then using "quit" will
query the user if the file should be updated.
The `-prompt string' switch sets the prompting string for msh.
You may wish to use an alternate nmh profile for the commands that msh
executes; see mh-profile (5) for details about the $MH environment
When invoked from bbc, two special features are enabled: First, the
`-scan' switch directs msh to do a `scan unseen' on start-up if new
items are present in the BBoard. This feature is best used from bbc,
which correctly sets the stage. Second, the mark command in msh acts
specially when you are reading a BBoard, since msh will consult the
sequence "unseen" in determining what messages you have actually read.
When msh exits, it reports this information to bbc. In addition, if
you give the mark command with no arguments, msh will interpret it as
`mark -sequence unseen -delete -nozero all' Hence, to discard all of
the messages in the current BBoard you're reading, just use the mark
command with no arguments.
Normally, the "exit" command is identical to the "quit" command in msh.
When run under bbc however, "exit" directs msh to mark all messages as
seen and then "quit". For speedy type-in, this command is often abbre-
viated as just "e".
When invoked from vmh, another special feature is enabled: The `topcur'
switch directs msh to have the current message "track" the top line of
the vmh scan window. Normally, msh has the current message "track" the
center of the window (under `-notopcur', which is the default).
msh supports an output redirection facility. Commands may be followed
by one of
> file write output to file
>> file append output to file
| command pipe output to UNIX command
If file starts with a ` ' (tilde), then a csh-like expansion takes
place. Note that command is interpreted by sh (1). Also note that msh
does NOT support history substitutions, variable substitutions, or
When parsing commands to the left of any redirection symbol, msh will
honor `\' (back-slash) as the quote next-character symbol, and `"'
(double-quote) as quote-word delimiters. All other input tokens are
separated by whitespace (spaces and tabs).
$HOME/.mh_profile The user profile
/etc/nmh/mts.conf nmh mts configuration file
Path: To determine the user's nmh directory
Msg-Protect: To set mode when creating a new `file'
fileproc: Program to file messages
showproc: Program to show messages
`file' defaults to "./msgbox"
`-prompt (msh) '
The argument to the `-prompt' switch must be interpreted as a single
token by the shell that invokes msh. Therefore, one must usually place
the argument to this switch inside double-quotes.
There is a strict limit of messages per file in packf'd format which
msh can handle. Usually, this limit is 1000 messages.
Please remember that msh is not the CShell, and that a lot of the nice
facilities provided by the latter are not present in the former.
In particular, msh does not understand back-quoting, so the only effec-
tive way to use pick inside msh is to always use the `-seq select'
switch. Clever users of nmh will put the line
pick: -seq select -list
in their .mh_profile file so that pick works equally well from both the
shell and msh.
sortm always uses "-noverbose" and if "-textfield field" is used,
The msh program inherits most (if not all) of the bugs from the nmh
commands it implements.
[nmh-1.0.4] MH.6.8 MSH(1)
Man(1) output converted with