view doc/ja-mhpath.me @ 0:bce86c4163a3

Initial revision
author kono
date Mon, 18 Apr 2005 23:46:02 +0900
parents
children
line wrap: on
line source

.\"	This file is automatically generated.  Do not edit!
.\"		written by MH-plus project
.SC MHPATH 1
.NA
mhpath \- MH メッセージやフォルダの絶対パスを表示する
.SY
mhpath
\%[+folder] \%[msgs]
\%[\-help]
.DE
\fImhpath\fR は、メッセージリスト `msgs' を展開し、ソートし、
そのメッセージの絶対パスを一行ごと分割して、標準出力に出力します。
もし `msgs' が指定されなかった場合、
\fImhpath\fR はフォルダ自身の絶対パスを出力します。
もし引数が `+' である場合、
ユーザーの MH の \fIPath\fR (MH ディレクトリ)が出力されます。
これはシェルスクリプトで有用です。

\fImhpath\fR は、他の MH コマンドと一緒に使われる際、
しばしば、書き込みを意図して使われるかも知れません。
このために、
.sp
1) \fImhpath\fR の予約メッセージ名(\*(lqfirst\*(rq、\*(lqlast\*(rq、
\*(lqprev\*(rq、\*(lqnext\*(rq、\*(lqcur\*(rq、そして \*(lqall\*(rq)に
\*(lqnew\*(rq という名前が追加されています。
new メッセージはフォルダ内の last メッセージの次と同じです
(メッセージが何もないフォルダに於いては 1 です)。
\*(lqnew\*(rq メッセージはメッセージの範囲の一部としては使えません。
.sp
2) メッセージのリストの中で、存在しないメッセージを次のものは指し示している
かもしれません。
単独の数字のメッセージ名、
単独のメッセージ名 \*(lqcur\*(rq、
そして、(明らかに)単独のメッセージ名 \*(lqnew\*(rq。
他の全てのメッセージは少なくとも一つの存在するメッセージを指し示します。
.sp
3) 空のフォルダはそれ自身ではエラーにはなりません。

範囲指定の一部として指定された、
フォルダ内に存在する一番大きな番号よりさらに大きなメッセージ番号は、
次の空いているメッセージ番号と置き換わります。

例: カレント・フォルダ foo に 3 5 6 というメッセージがあり、
カレント・メッセージが 4 の時。

.nf
.in +.5i
% 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
.in -.5i
.fi

\fImhpath\fR はバック・クォート処理においても有用です。

.nf
.in +.5i
% cd `mhpath +inbox`

% echo `mhpath +`
/r/phyl/Mail
.in -.5i
.fi
.Fi
^$HOME/\&.mh\(ruprofile~^ユーザーのプロファイル
.Pr
^Path:~^ユーザーの MH ディレクトリを決める
.Ps
^Current\-Folder:~^デフォルトのカレント・フォルダを示す
.Sa
folder(1)
.De
`+folder'	デフォルトはカレント・フォルダ
.Ds
`msgs'	デフォルトは無し
.Co
無し。
.Bu
全ての MH コマンドと同じように、
\fImhpath\fR は \%[msgs] を展開し、ソートします。
だから、501 を 500 に移動させるのに、

.ti +.5i
mv `mhpath 501 500`

とは出来ません。逆になるからです。しかし、

.ti +.5i
mv `mhpath 501` `mhpath 500`

ならうまく行きます。

範囲外であるメッセージ番号 0 番は、
範囲外である大きなメッセージ番号よりも、
もっと厳しく取り扱われます。
.En