view doc/ja-msh.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 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
mhn
.br
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~^ユーザーのプロファイル
^/usr/local/mh/lib/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