Provided by: nmh_1.3-1_i386 bug

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’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:

            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 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 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 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.  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
       /etc/nmh/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 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 implements.