MSH(1) [nmh-1.0.4] (MH.6.8) 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 command
loop. The user may type most of the normal nmh commands.
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., specifying 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
Page 1 (printed 2/1/01)
MSH(1) [nmh-1.0.4] (MH.6.8) MSH(1)
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
commands 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 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 abbreviated 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
Page 2 (printed 2/1/01)
MSH(1) [nmh-1.0.4] (MH.6.8) MSH(1)
>> 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 alias substitutions.
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).
FILES
$HOME/.mh_profile The user profile
/usr/freeware/lib/nmh/etc/mts.conf nmh mts configuration file
PROFILE COMPONENTS
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
SEE ALSO
bbc(1)
DEFAULTS
`file' defaults to ./msgbox
`-prompt (msh) '
`-noscan'
`-notopcur'
CONTEXT
None
BUGS
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 effective way to use pick inside msh is to always use
Page 3 (printed 2/1/01)
MSH(1) [nmh-1.0.4] (MH.6.8) MSH(1)
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.
Page 4 (printed 2/1/01)