1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
|
.\"
.\" %nmhwarning%
.\" $Id: mhpath.man,v 1.5 2001/01/25 21:15:55 ssen Exp $
.\"
.TH MHPATH %manext1% "%nmhdate%" MH.6.8 [%nmhversion%]
.SH NAME
mhpath \- print full pathnames of nmh messages and folders
.SH SYNOPSIS
.HP 5
.na
.B mhpath
.RI [ +folder ]
.RI [ msgs ]
.RB [ \-version ]
.RB [ \-help ]
.ad
.SH DESCRIPTION
.B 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,
.B mhpath
outputs the folder pathname
instead. If the only argument is `+', your
.B nmh
\*(lqPath\*(rq is output; this can be useful is shell scripts.
.PP
Contrasted with other
.B nmh
commands, a message argument to
.B mhpath
may often be intended for writing. Because of this:
.PP
.IP 1) 4
the name \*(lqnew\*(rq has been added to
.BR mhpath 's
list of
reserved message names (the others are \*(lqfirst\*(rq, \*(lqlast\*(rq,
\*(lqprev\*(rq, \*(lqnext\*(rq, \*(lqcur\*(rq, and \*(lqall\*(rq).
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 \*(lqnew\*(rq message may not be used as part of a message range.
.IP 2) 4
Within a message list, the following designations may refer to messages
that do not exist: a single numeric message name, the single message name
\*(lqcur\*(rq, and (obviously) the single message name \*(lqnew\*(rq.
All other message designations must refer to at least one existing
message.
.IP 3) 4
An empty folder is not in itself an error.
.PP
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.
.PP
Examples: The current folder foo contains messages 3 5 6.
Cur is 4.
.PP
.RS 5
.nf
% 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 \*(lqlast\-new\*(rq.
% mhpath cur
/r/phyl/Mail/foo/4
% mhpath 1\-2
no messages in range \*(lq1\-2\*(rq.
% 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
.fi
.RE
.PP
.B mhpath
is also useful in back\-quoted operations:
.PP
.RS 5
.nf
% cd `mhpath +inbox`
% echo `mhpath +`
/r/phyl/Mail
.fi
.RE
.PP
.SH FILES
.fc ^ ~
.nf
.ta \w'%etcdir%/ExtraBigFileName 'u
^$HOME/\&.mh\(ruprofile~^The user profile
.fi
.SH "PROFILE COMPONENTS"
.fc ^ ~
.nf
.ta 2.4i
.ta \w'ExtraBigProfileName 'u
^Path:~^To determine the user's nmh directory
^Current\-Folder:~^To find the default current folder
.fi
.SH "SEE ALSO"
folder(1)
.SH DEFAULTS
.nf
.RB ` +folder "' defaults to the current folder"
.RB ` msgs "' defaults to none"
.fi
.SH CONTEXT
None
.SH BUGS
Like all
.B nmh
commands,
.B mhpath
expands and sorts
.RI [ msgs ].
So don't
expect
.PP
.RS 5
.nf
mv `mhpath 501 500`
.fi
.RE
.PP
to move 501 to 500.
Quite the reverse. But
.PP
.RS 5
.nf
mv `mhpath 501` `mhpath 500`
.fi
.RE
.PP
will do the trick.
.PP
Out of range message 0 is treated far more severely than large out of
range message numbers.
|