man mhpath (Commandes) - print full pathnames of nmh messages and folders
NAME
mhpath - print full pathnames of nmh messages and folders
SYNOPSIS
DESCRIPTION
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 folder pathname instead. If the only argument is `+', your nmh “Path†is output; this can be useful is shell scripts.
Contrasted 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 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.
- 3)
- An empty folder is not in itself an error.
Message numbers greater than the highest existing message in a folder as part of a range designation are replaced with the next free message number.
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 /r/phyl/Mail/foo/7
% 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 bad message list “last-newâ€.
% mhpath cur /r/phyl/Mail/foo/4
% mhpath 1-2 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 back-quoted operations:
% cd `mhpath +inbox`
% echo `mhpath +` /r/phyl/Mail
FILES
^$HOME/.mhprofile~^The user profile
PROFILE COMPONENTS
^Path:~^To determine the user's nmh directory ^Current-Folder:~^To find the default current folder
SEE ALSO
DEFAULTS
`+folder' defaults to the current folder `msgs' defaults to none
CONTEXT
None
BUGS
Like all nmh commands, mhpath expands and sorts [msgs]. So don't expect
mv `mhpath 501 500`
to move 501 to 500. Quite the reverse. But
mv `mhpath 501` `mhpath 500`
will do the trick.
Out of range message 0 is treated far more severely than large out of range message numbers.