|mhpath [+folder] [msgs] [-version] [-help]|
mhpath expands and sorts the message list msgs and writes the full pathnames of the messages to the standard output separated by newlines. If no msgs are specified, mhpath outputs the current mail folders pathname instead. If the only argument is +, your nmh Path is output; this can be useful in shell scripts.
Contrasted with other nmh commands, a message argument to mhpath may often be intended for writing. Because of this:
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 message in a folder causes an out of range error message to be displayed.
1) the name new has been added to mhpaths 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 messages). 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 exist: 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 existing message, if the folder contains messages. 3) An empty folder is not in itself an error.
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.
^$HOME/.mh_profile~^The user profile
^Path:~^To determine the users nmh directory ^Current-Folder:~^To find the default current folder
+folder defaults to the current folder msgs defaults to none
|nmh-1.6||MHPATH (1)||January 20, 2014|