名称
mhpath − MH メッセージとフォルダのフルパス名を出力する
形式
mhpath [+folder] [msgs] [−help]
解説
mhpath はメッセージリスト ‘msgs’ を展開し、ソートして、 メッセージのフルパス名を改行で区切って標準出力に書き出します。 もし、‘msgs’ が指定されてない場合、 mhpath は代わりにフォルダのパス名を出力します。 引数に ‘+’ のみを渡した場合は、ユーザの MH Path を出力します。 これはシェルスクリプト中で便利です。
他の MH コマンドとは対照的に、 mhpath に対するメッセージ引数は、書き込み を 意図している場合があります。 このため、
1) mhpath では予約メッセージ名のリスト(“first”、 “last”、“prev”、“next”、“cur”、 “all”)に “new” が加えられます。 新しいメッセージはフォルダ内の最後のメッセージの次を意味します (フォルダ内にメッセージがない場合は 1 を意味します)。 “new” メッセージは、メッセージ範囲の一部としては使えません。
2) メッセージリストの中で、 単一の数字のメッセージ名、単一のメッセージ名 “cur”、 単一のメッセージ名 “new” による指定は 存在しないメッセージを参照できます。 その他のすべてのメッセージ指定では、 少なくとも1つの、存在するメッセージを参照していなければなりません。
3) 空のフォルダは、それ自体でエラーというわけではありません。
指定範囲の一部がフォルダ中のも大きなメッセージ番号よりも大きい場合、 まだ割り当てられていない次のメッセージ番号に置き換わります。
例:カレントフォルダ foo には、メッセージ 3、5、6 があります。 cur は 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’~^カレントフォルダ ‘msgs’~^デフォルト値なし
コンテクスト
なし
バグ
すべての MH コマンドと同じく、mhpath は [msgs] を展開し、 ソートします。そのため、
mv ‘mhpath 501 500‘
は 501 を 500 に移すのではなく、まったく逆になってしまいます。 しかし、
mv ‘mhpath 501‘ ‘mhpath 500‘
は 501 を 500 に移します。
範囲外メッセージ 0 は、範囲を越えた大きなメッセージ番号よりも、厳密に扱われます。
NEWS-OSRelease 4.1C