view conf/doc/ja-msh.rf @ 0:bce86c4163a3

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

.\"	@(MHWARNING)
.\"		written by MH-plus project
.SC MSH 1
.NA
msh \- MH シェル
.SY
msh
\%[\-prompt\ string]
\%[\-scan] \%[\-noscan]
\%[\-topcur] \%[\-notopcur]
\%[file]
\%[\-help]
.DE
\fImsh\fR は \fIpackf\fR された形式の単一ファイルを操作する
対話的プログラムで、通常の \fIMH\fR コマンド(の一部)が使えるようになって
います。
標準の \fIMH\fR 形式は、一つ一つのファイルが一つのメッセージであり、
そういう形式の多数のファイルを扱うというものですが、それに対して、
\fImsh\fR は、一つのファイルに多数のメッセージが含まれており、そういう一つの
ファイルを扱うという場合に使われます。
\fImsh\fR の主な利点は、通常の \fIMH\fR 形式では、一つのファイルに複数の
メッセージが含まれているというものを許してないという点です。
この事から、\fImsh\fR は電子掲示板を読むのに理想的だと言えます。
これらのファイルは配送システムによって、この形式で配布されるからです。
加えて、\fImsh\fR は一つにまとめられたメッセージ(\fIpackf\fR\0(1) 参照)の
ような他の形式にも使うことが出来ます。
最後に、\fImsh\fR は \fIMH\fR の優れた案内者です。
使えるコマンドは \fIMH\fR コマンドだけなので、
\fIMH\fR 初心者は \fIMH\fR のコマンドがどういう構成になっているかや、
それらの意味するものに集中する事が出来ます。

呼び出されると、\fImsh\fR は指定のファイルを読み、コマンド・ループに入ります。
ユーザーは通常の \fIMH\fR コマンドのほとんどを打ち込む事が出来ます。
これら \fImsh\fR に打ち込まれるコマンドの文法や意味は、
対応する \fIMH\fR コマンドと同じです。
\fImsh\fR にそぐわない指定をした場合(例えば、いくつかのコマンドで `+folder' を
指定した場合)には、当然 \fImsh\fR はユーザーにその旨を伝えます。
\fImsh\fR が現在対応しているコマンド(いくつかは、わずかに変更されていたり、
形式に制限があったりしますが)は、つぎの通りです。
.sp 1
.in +.5i
ali
.br
burst
.br
comp
.br
dist
.br
folder
.br
forw
.br
inc
.br
mark
.br
mhmail
.br
@BEGIN: MIME
mhn
.br
@END: MIME
msgchk
.br
next
.br
packf
.br
pick
.br
prev
.br
refile
.br
repl
.br
rmm
.br
scan
.br
send
.br
show
.br
sortm
.br
whatnow
.br
whom
.in -.5i

加えて、
\fImsh\fR には簡単な説明を示す \*(lqhelp\*(rq コマンドがあります。
\fImsh\fR を終了させるには、CTRL\-D を打つか、\*(lqquit\*(rq コマンドを
使って下さい。
もし、\fImsh\fR が \fIbbc\fR から呼び出された場合は、
CTRL\-D を打つと、\fIbbc\fR も終了します。
一方、\*(lqquit\*(rq コマンドを使うと、\fIbbc\fR の制御下に移り、
\fIbbc\fR は目を通している電子掲示板のリストを調べ続けます。

もしファイルが書き込み可能で、変更された場合、
\*(lqquit\*(rq を使うと、そのファイルを更新すべきかどうかをユーザーに
尋ねます。

`\-prompt string' オプションは \fImsh\fR のプロンプト文字列を設定します。

\fImsh\fR が実行するコマンドに対しては、通常と別の \fIMH\fR プロファイルを
使いたいと思うかも知れませんが、それに関する詳細は、\fImh-profile\fR\0(5) の
環境変数 \fB$MH\fR の部分を参照して下さい。

\fIbbc\fR から呼び出された場合は、次の二つの特別な仕様が可能になります。
まず、
`\-scan' オプションを付けると、\fImsh\fR の起動時にもし電子掲示板に
新しい記事があった場合、`scan\0unseen' を実行します。
\fIbbc\fR は unseen を正しく設定をするので、この仕様は \fIbbc\fR からの使用に
最適です。
第二に、
\fImsh\fR 内の \fImark\fR コマンドは、電子掲示板を読んでいる時は特別な振舞いを
します。
\fImsh\fR は実際にどの記事を読んだかを決める際に、
\*(lqunseen\*(rq シーケンスを見るからです。
\fImsh\fR が終了する時、この情報が \fIbbc\fR に報告されます。
加えて、\fImark\fR コマンドに引数を与えなかった場合、\fImsh\fR はそれを
`mark\0\-sequence\0unseen\0\-delete\0\-nozero\0all' と解釈します。
従って、現在読んでいる電子掲示板の全ての記事を捨てる(既に読んだ事にする)場合、
単に \fImark\fR コマンドを引数無しで使うといいでしょう。

通常、\fImsh\fR に於いては、\*(lqexit\*(rq コマンドは \*(lqquit\*(rq コマンド
と同じです。
しかし、\fIbbc\fR から実行された場合、\*(lqexit\*(rq は全てのメッセージを既読
にしてから \*(lqquit\*(rq します。
打ち込みを速くするために、このコマンドはしばしば \*(lqe\*(rq と省略されます。

\fIvmh\fR から呼び出された場合、
別の特別な仕様が可能になります。
`topcur' オプションをつけると、\fImsh\fR はカレント・メッセージを
\fIvmh\fR の一覧ウィンドーの一番上の行に持って来ます。
通常、\fImsh\fR はカレントメッセージをウィンドーの真中に持って来ます
(デフォルトの `\-notopcur' の場合)。

\fImsh\fR は出力リダイレクトに対応しています。
\fImsh\fR 内でコマンドを打つ際には、次のうちの一つが続いても構いません。

.nf
.in +.5i
.ta \w'| \fIcommand\fR  'u
^> \fIfile\fR~^\fIfile\fR に書き出す
^>> \fIfile\fR~^\fIfile\fR に追加書き込みする
^| \fIcommand\fR~^UNIX コマンド \fIcommand\fR にパイプ出力する
.re
.in -.5i
.fi

\fIfile\fR が `\~' (チルダ) で始まっている場合、
\fIcsh\fR 風の展開が行なわれます。
\fIcommand\fR は \fIsh\fR\0(1) によって解釈されます。

なお、\fImsh\fR はヒストリ置換、変数置換、別名置換には対応していません。

コマンドからリダイレクト記号の左側までを解釈する際、
\fImsh\fR は `\\' (バックスラッシュ) を次の文字をクォートする記号として考え、
`"' (ダブルクォート) を語をクォートする区切りと考えます。
その他の入力された語は全て、ホワイトスペース(スペースとタブ)で分割されます。
.Fi
^$HOME/\&.mh\(ruprofile~^ユーザーのプロファイル
^@(MHETCPATH)/mtstailor~^テイラー・ファイル
.Pr
^Path:~^ユーザーの MH ディレクトリを決める
.Ps
^Msg\-Protect:~^新しい `file' を作る際にセットされるモード
.Ps
^fileproc:~^メッセージを refile するプログラム
.Ps
^showproc:~^メッセージを表示するためのプログラム
.Sa
bbc(1)
.De
`file'	デフォルトは \*(lq./msgbox\*(rq
.Ds
`\-prompt\ (msh)\ '
.Ds
`\-noscan'
.Ds
`\-notopcur'
.Co
無し。
.Bu
`\-prompt' に対する引数は、\fImsh\fR を呼び出すシェルにとって
一語として解釈される形でなければなりません。
従って、
通常、このオプションに対する引数はダブル・クォートで囲まれなければなりません。

\fImsh\fR が扱える \fIpackf\fR された形式のファイルには、一つのファイルに
含まれるメッセージ数に厳格な上限があります。
通常、この上限は 1000 メッセージです。

\fImsh\fR は \fICShell\fR ではない事を忘れないで下さい。
そして、後者に用意された素晴らしい仕様の多くは、前者には用意されていない
事を忘れないで下さい。

特に、\fImsh\fR はバッククォートを理解できません。
従って、\fImsh\fR 内の \fIpick\fR に効果的な唯一の方法は常に
`\-seq\0select' オプションを使うことです。
賢い \fIMH\fR ユーザーなら、\fIpick\fR が通常のシェルでも \fImsh\fR でも
同じように働くように、以下の行

.ti +.5i
pick:\0\-seq\0select\0\-list

を自分の \&.mh\(ruprofile に書いている事でしょう。

\fIsortm\fR は \*(lq\-textfield\ field\*(lq が \*(lq\-limit 0\*(rq で
使われた場合、常に \*(lq\-noverbose\*(rq がつきます。

\fImsh\fR プログラムは、\fIMH\fR コマンド自身が持っているバグのほとんど
(全てではないでしょうが)を継承しています。
.En