MSH(1) — NEWS-OS Programmer’s Manual
名称
msh − MH シェル(および、BBoardの読み取り)
形式
msh [−prompt string] [−scan] [−noscan] [−topcur] [−notopcur] [−cnv] [−nocnv] [file] [−help]
解説
msh は対話型のプログラムで、packf でフォーマットされた 1つのファイルについて、通常の MH コマンド操作のサブセットが利用できます。 msh はたくさんのメッセージを含む 1つのファイルを読み取るのに使われ、 たくさんのファイルを読み取る標準の MH スタイルとは異なります。 各ファイルは、フォルダに区分けされたメッセージとなっています。 msh の主な利点は、 普通の MH スタイルではファイル中に1つ以上のメッセージを持てないのに対し、 msh ではこれが可能であることです。 msh は BBoards の読み取りには理想的です。 というのは、これらのファイルは、 このフォーマットで転送システムによって配信されるものだからです。 さらに msh は、pack されたメッセージアーカイブのような 他のファイルにも使用可能です(packf(1)を参照してください)。 最後に、msh はすぐれた MH の教師です。 ユーザが使用できるのは MH コマンドだけなので、 MH の初心者が、どのようにして MH に対するコマンドを形作るか、 また、(多少なりとも)それらがどういう意味を持つかということに、専念できます。
msh が起動されると、指定されたファイルを読み取り、 コマンドループの中に入ります。 ユーザは普通の MH コマンドの大部分を入力できます。 msh に入力されるこれらのコマンドの構文や意味は、 MH を構成する他のコマンドと全く同じです。 msh の性格が首尾一貫していない場合 (例えば、いくつかのコマンドで ‘+folder’ を指定しているような場合)にも、 msh は型通りにユーザに知らせます。 msh が現在サポートしているコマンド(若干、変更されたり、 制限された形があります)をあげます。
ali
burst
comp
dist
folder
forw
inc
mark
mhmail
msgchk
next
packf
pick
prev
refile
repl
rmm
scan
send
show
sortm
whatnow
whom
さらに、msh は簡単な概観を表示する “help” コマンドを 持っています。msh を終了させるには、 CTRL-D をタイプするか、“quit” コマンドを使用します。 もし、msh が bbc から起動される場合には、 control-D で bbc も同様に終了させます。 一方、“quit” コマンドでは bbc に制御を返し、 bbc はスキャンしている BBoard のリストの検査を続けます。
ファイルが書き込み可能で、変更されているとき、 “quit” を使用することは、 ユーザにファイルを更新するどうかを質問することになります。
‘−cnv’ スイッチが指定されると、表示の際には MAIL コードを環境変数 LANG で 指定した内部コードに変換します。送信の際にはメッセージの 8bit コードを MAIL コードに変換します。 ‘−nocnv’ スイッチが指定されると変換は行いません。
‘−prompt string’ スイッチは msh 用のプロンプト文字列をセットします。
msh を実行するコマンドで、 交替 MH プロファイルを使用したい場合には、 mh-profile(5) の $MH 環境変数の詳細を参照してください。
bbc から起動された場合には、 2つの特別な機能が使用できます。 第1に、‘−scan’ スイッチは、 msh に対して BBoard に新しい内容があれば 起動時に ‘scan unseen’ を実行するよう指示します。 この機能は bbc で一番よく使われるもので、 動作環境を適正に設定します。 次に、msh 中での mark コマンドは、 ユーザが BBoard を読んでいる時に特別に働きます。 というのは、mshは、 ユーザが実際にどのメッセージを読んでいるかを判断するために、 “unseen” シーケンスを参照するからです。 msh が終了するとき、bbc にこの情報を伝えます。 さらに、引数なしで mark コマンドを使う場合、 msh は ‘mark −sequence unseen −delete −nozero all’ と して解釈します。 そのため、今読んでいるカレント BBoard の中のすべてのメッセージを破棄するには、 引数なしで mark コマンドを使います。
普通、“exit” コマンドは、 msh の “quit”" コマンドと同じです。 しかし、bbc のもとで実行するとき、 “exit” は msh に対して、 すべてのメッセージが読まれたものとしてマークしてから “quit” する ように指示します。迅速に入力するため、 このコマンドはしばしば “e” のように省略されます。
vmh から起動された場合には、 さらに特別な機能が使用できます。 ‘−topcur’ スイッチは vmh に対して、 vmh がスキャンしているウィンドウの第 1行を カレントメッセージとして印をつける(track)ように msh に指示します。 通常、msh はウィンドウの中央をカレントメッセージ として “track” します (‘−notopcur’ を指定した場合には、 それがデフォルトになります)。
msh は出力のリダイレクト機能をサポートします。 コマンドは次のうちのいずれかにできます。
^> file~^出力をファイルに書き込む
^>> file~^出力をファイルに追加する
^| command~^出力を NEWS−OS コマンドにパイプする
file が ‘~’(チルダ)で始まる場合には、 csh のような拡張で置き換えます。 コマンドは sh(1) によって解釈されることに注意してください。 また、msh は履歴(history)、変数、 別名による置換をサポートしないことにも注意してください。
リダイレクション記号の左側のコマンドを解析するとき、 msh は ‘\’(バックスラッシュ)を次の文字を表す記号として扱い、 ‘"’(ダブルクォート)を引用文の区切り記号として扱います。 他のすべての入力トークンは空白(スペースとタブ)によって区切られます。
関連ファイル
^$HOME/.mh_profile~^ユーザファイル
^/usr/new/lib/mh/mtstailor~^テーラーファイル
プロファイルコンポーネント
^Path:~^ユーザの MH ディレクトリ
^Msg−Protect:~^新しい ‘file’ を作る時にセットするモード
^fileproc:~^メッセージをファイルするプログラム
^showproc:~^メッセージを表示するプログラム
関連事項
デフォルト値
‘file’ のデフォルトは “./msgbox” ‘−prompt (msh) ’ ‘−noscan’ ‘−notopcur’ ‘−cnv’
コンテクスト
なし
バグ
‘−prompt’ スイッチに対する引数は msh を起動したシェルにより、 単一のトークンとして解釈されなければなりません。 このため、このスイッチに対する引数は ダブルクォートの内側に置かねばなりません。
msh が扱える packfd フォーマットでは、 ファイルあたりのメッセージ数にははっきりとした限界があります。 普通この限界は 1000 メッセージです。
msh は C シェルとは違うものであり、 後者には装備されているたくさんのすぐれた機能が前者には 存在しないということに注意してください。
特に、msh はバッククォーティングを認識しません。 このため、msh 上で pick を使用する最も有効な方法は、 常に ‘−seq select’ スイッチを用いることです。 MH に精通したユーザは、
pick: −seq select −list
という行を .mh_profile に置いておくと、 pick はシェルと msh の両方で同じように動作します。 sortm は常に “−noverbose” で動作し、 “−textfield field“ が使用されている場合は 常に “−limit 0” です。
msh プログラムはそれを実行する MH コマンド から大部分の(全部ではありませんが)バグを引継いでいます。
NEWS-OSRelease 4.2.1R