MHPATH(1)

NAME
mhpath - MH メッセージやフォルダの絶対パスを表示する

SYNOPSIS
mhpath [+folder] [msgs] [-help]

DESCRIPTION
mhpath は、メッセージリスト `msgs' を展開し、ソートし、 そのメッセージの絶対パスを一行ごと分割して、標準出力に出力します。 もし `msgs' が指定されなかった場合、 mhpath はフォルダ自身の絶対パスを出力します。 もし引数が `+' である場合、 ユーザーの MH の Path (MH ディレクトリ)が出力されます。 これはシェルスクリプトで有用です。 mhpath は、他の MH コマンドと一緒に使われる際、 しばしば、書き込みを意図して使われるかも知れません。 このために、

1) mhpath の予約メッセージ名("first"、"last"、 "prev"、"next"、"cur"、そして "all")に "new" という名前が追加されています。 new メッセージはフォルダ内の last メッセージの次と同じです (メッセージが何もないフォルダに於いては 1 です)。 "new" メッセージはメッセージの範囲の一部としては使えません。

2) メッセージのリストの中で、存在しないメッセージを次のものは指し示している かもしれません。 単独の数字のメッセージ名、 単独のメッセージ名 "cur"、 そして、(明らかに)単独のメッセージ名 "new"。 他の全てのメッセージは少なくとも一つの存在するメッセージを指し示します。

3) 空のフォルダはそれ自身ではエラーにはなりません。 範囲指定の一部として指定された、 フォルダ内に存在する一番大きな番号よりさらに大きなメッセージ番号は、 次の空いているメッセージ番号と置き換わります。 例: カレント・フォルダ foo に 3 5 6 というメッセージがあり、 カレント・メッセージが 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 はバック・クォート処理においても有用です。
% cd `mhpath +inbox`
% echo `mhpath +`
/r/phyl/Mail
$HOME/.mh_profile    ユーザーのプロファイル
Path:    ユーザーの MH ディレクトリを決める
Current-Folder:    デフォルトのカレント・フォルダを示す
folder(1)
`+folder'    デフォルトはカレント・フォルダ
`msgs'    デフォルトは無し
無し。 全ての MH コマンドと同じように、 mhpath は [msgs] を展開し、ソートします。 だから、501 を 500 に移動させるのに、
mv `mhpath 501 500` とは出来ません。逆になるからです。しかし、
mv `mhpath 501` `mhpath 500` ならうまく行きます。 範囲外であるメッセージ番号 0 番は、 範囲外である大きなメッセージ番号よりも、 もっと厳しく取り扱われます。