Provided by: nmh_1.3-1build1_amd64 bug


       msh - nmh shell (and BBoard reader)


       msh [-prompt string] [-scan | -noscan] [-topcur | -notopcur] [file] [-version] [-help]


       msh  is  an  interactive  program  that  implements  a  subset  of the normal nmh commands
       operating on a single file in packf'dformat.  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:


       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

       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 qe.

       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

       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.  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).


       $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

       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 C-Shell,  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 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