Computer Science
MSH(1) MSH(1)
NAME
msh - nmh shell (and BBoard reader)
SYNOPSIS
msh [-prompt string] [-scan] [-noscan] [-topcur]
[-notopcur] [file] [-version] [-help]
DESCRIPTION
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 com-
mand loop. The user may type most of the normal nmh com-
mands. The syntax and semantics of these commands typed
to msh are identical to their nmh counterparts. In cases
where the nature of msh would be inconsistent (e.g., spec-
ifying a `+folder' with some commands), msh will duly
inform the user. The commands that msh currently supports
(in some slightly modified or restricted forms) are:
ali
burst
comp
dist
folder
forw
inc
mark
mhmail
mhn
msgchk
next
packf
pick
prev
refile
repl
rmm
scan
send
show
sortm
whatnow
whom
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 com-
mands that msh executes; see mh-profile (5) for details
about the $MH environment variable.
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 cor-
rectly 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 abbreviated as
just "e".
When invoked from vmh, another special feature is enabled:
The `topcur' switch directs msh to have the current mes-
sage "track" the top line of the vmh scan window. Nor-
mally, 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 expan-
sion takes place. Note that command is interpreted by
sh (1). Also note that msh does NOT support history sub-
stitutions, variable substitutions, or alias substitu-
tions.
When parsing commands to the left of any redirection sym-
bol, msh will honor `\' (back-slash) as the quote
next-character symbol, and `"' (double-quote) as
quote-word delimiters. All other input tokens are sepa-
rated by whitespace (spaces and tabs). ^$HOME/.mh_pro-
file~^The user profile ^/etc/nmh/mts.conf~^nmh mts config-
uration 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 bbc(1) `file' defaults to "./msgbox"
`-prompt (msh) ' `-noscan' `-notopcur' None 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 dou-
ble-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 pre-
sent in the former.
In particular, msh does not understand back-quoting, so
the only effective 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, "-limit 0".
The msh program inherits most (if not all) of the bugs
from the nmh commands it implements.
[nmh-0.27] MH.6.8 1
Back to the index