msh



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

            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 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
       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 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,
       "-limit 0".

       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 man2html