# phpman > man > mhpath(1mh)

[MHPATH(1mh)](https://www.chedong.com/phpMan.php/man/MHPATH/1mh/markdown)                                                                              [MHPATH(1mh)](https://www.chedong.com/phpMan.php/man/MHPATH/1mh/markdown)



## NAME
       mhpath - print full pathnames of nmh messages and folders

## SYNOPSIS
       **mhpath** [**-help**] [**-version**] [_+folder_] [_msgs_]

## DESCRIPTION
       **mhpath**  expands  and  sorts the message list `msgs' and writes the full pathnames of the mes‐
       sages to the standard output, separated by newlines.  If no `msgs' are specified, **mhpath** out‐
       puts  the  current  mail  folder's  pathname  instead.  If the only argument is `+', your **nmh**
       “Path” is output; this can be useful in shell scripts.

       In contrast with other **nmh** commands, a message argument to **mhpath** may often be  intended  for
       writing.  Because of this:

       1)  the  name “new” has been added to **mhpath**'s list of reserved message names (the others are
           “first”, “last”, “prev”, “next”, “cur”, and “all”).  The new message is equivalent to the
           message  after the last message in a folder (and equivalent to 1 in a folder without mes‐
           sages).  The “new” message may not be used as part of a message range.

       2)  Within a message list, the following designations may refer to messages that do  not  ex‐
           ist:  a  single  numeric message name, the single message name “cur”, and (obviously) the
           single message name “new”.  All other message designations must refer to at least one ex‐
           isting message, if the folder contains messages.

       3)  An empty folder is not, in itself, an error.

       A message number less than that of the smallest existing message in a folder is treated as if
       the message already exists.  A message number greater than that of the highest existing  mes‐
       sage in a folder causes an “out of range” error message to be displayed.

       As  part  of  a  range designation that contains messages that do exist, message numbers less
       than the smallest, or greater than the highest, existing message in a folder are ignored.

       Examples: The current folder foo contains messages 3 5 6.  Cur is 4.

            % mhpath
            /r/phyl/Mail/foo

            % mhpath all
            /r/phyl/Mail/foo/3
            /r/phyl/Mail/foo/5
            /r/phyl/Mail/foo/6

            % mhpath 2001
            mhpath: message 2001 out of range 1-6

            % mhpath 1-2001
            /r/phyl/Mail/foo/3
            /r/phyl/Mail/foo/5
            /r/phyl/Mail/foo/6

            % mhpath new
            /r/phyl/Mail/foo/7

            % mhpath last new
            /r/phyl/Mail/foo/6
            /r/phyl/Mail/foo/7

            % mhpath last-new
            mhpath: bad message list last-new

            % mhpath cur
            /r/phyl/Mail/foo/4

            % mhpath 1-2
            mhpath: no messages in range 1-2

            % mhpath first:2
            /r/phyl/Mail/foo/3
            /r/phyl/Mail/foo/5

            % mhpath 1 2
            /r/phyl/Mail/foo/1
            /r/phyl/Mail/foo/2

       **mhpath** is also useful in backquoted operations:

            % cd `mhpath +inbox`

            % echo `mhpath +`
            /r/phyl/Mail

       Because **mhpath** expands and sorts [_msgs_].  the command

            mv `mhpath 501 500`

       to will not move 501 to 500; quite the reverse.  But

            mv `mhpath 501` `mhpath 500`

       will do the trick.

       Out-of-range message 0 produces a different error message  than  large  out-of-range  message
       numbers.  But both cause **mhpath** to exit with non-zero status.

## FILES
       $HOME/.mh_profile    The user profile

## PROFILE COMPONENTS
       Path:                To determine the user's nmh directory
       Current-Folder:      To find the default current folder

## SEE ALSO
       [_folder_(1)](https://www.chedong.com/phpMan.php/man/folder/1/markdown)

## DEFAULTS
       `**+folder**' defaults to the current folder
       `**msgs**' defaults to none

## CONTEXT
       None



nmh-1.7.1                                    2012-02-18                                  [MHPATH(1mh)](https://www.chedong.com/phpMan.php/man/MHPATH/1mh/markdown)
