E    mailx セッションでのエスケープ・コマンドの使用

エスケープ・コマンドまたはエスケープと呼ばれる特殊なコマンドがあります。 これらのコマンドは,メッセージの作成プロセスにおいて,さまざまな機能を実行できます。

エスケープ・コマンドを使用するには,コマンドの前にチルダ ( ~ ) を付け,行に単独で入力します。 チルダは,現在の編集環境からエスケープしてその後に続くコマンドを実行することを mailx にシグナル通知するため,エスケープ文字と呼ばれます。 escape メール変数を設定することにより,エスケープ文字を変更することができます。 メッセージ行の 1 文字目にチルダを入力する場合は,チルダを 2 つ入力してください。

表 E-1 に,エスケープ・コマンドを説明します。

表 E-1:  メール用エスケープ・コマンド

コマンド 機能

~~

メール・メッセージの本文にチルダ ( ~) 文字を入力できる。

~!command

ユーザが入力するシェル command を実行する。

~?

エスケープ・コマンドの要約を出力する。

~:command
~_command

指定されたメール・コマンドを実行する。 メッセージの再表示のようなハウスキーピング・タスクの実行に有効。

たとえば,~:10 と入力すると,mailx プロンプトでメッセージ番号 10 を入力したときのように,メッセージ番号 10 が選択されて表示される。

~a

sign に設定された文字列をメール・メッセージに挿入する。

~A

Sign に設定された文字列をメール・メッセージに挿入する。

~baddress_list

address_list に指定された名前を Bcc: (秘密コピー) リストに挿入する。

~caddress_list

指定された名前を Cc: (コピー) リストに追加する。

~C

コアをダンプする。

~d

ホーム・ディレクトリにある dead.letter というファイルをメッセージに取り込む。 異なるファイルをポイントするためにメール変数 DEAD が使用される。

~e

メール変数 EDITOR で指定されたエディタを起動して,メッセージを編集する。

~f [msg_list]

現在のメッセージまたは指定されたメッセージをユーザのメッセージに読み込む。

~F[msg_list]

~f コマンドと同様の機能であるが,discard,ignore,または retain などのコマンドに関係なく,すべてのヘッダを含めて取り込まれる。

~h

メッセージ・ヘッダ・フィールドを編集する。 このコマンドは,一度に 1 つのフィールドを表示して,そのフィールドが変更できるようにする。 フィールドの終わりにテキストを追加したり,削除キーを使用したり,あるいは,Ctrl/U を押し,フィールド全体を消去して入力し直すことができる。 このコマンドを使用する際には注意が必要。

~i string

指定された変数の値をメール・メッセージに挿入する。

たとえば,コマンド ~a は,シグネチャをメッセージに挿入するコマンド ~i sign と同じ。

~m[msg_list]

現在のメッセージまたは指定されたメッセージを,1 タブ分だけ右にシフトして挿入する。 indentprefix メール変数が設定されている場合,この値はタブ・ストップの前に挿入される。 新しいメッセージに追加してメッセージを転送する場合に,区別できる。

~M[msg_list]

~m と同様の機能であるが,discard,ignore,または retain などのコマンドに関係なく,すべてのヘッダを含めて取り込まれる。

~p

作成中のメッセージを端末に表示する。 メッセージが正しいか,または,表題や受信者リストが正しいかを確認する場合に有効。

~q
~Q

Ctrl/C を 2 回押した場合のように,現在のメッセージを打ち切る。

~rfile
~<file
~<!shell_cmd

指定されたファイルをメール・メッセージに読み込む。 引数が感嘆符 (!) で始まる場合,文字列の残りは,任意のシステム・コマンドとして認識され,標準出力がメール・メッセージに挿入される。

~ssubject

以前の表題の代わりに,subject を新しい表題にする。

~tname...

名前をメッセージの To: リストに追加する。

~v

メール変数 VISUAL で指定されたエディタを起動して,メッセージを編集する。

~wfile

指定されたファイルにメッセージを書き込む。

~|command
~^command

指定されたコマンドに,メッセージをパイプする。 これは,メッセージにグローバル変更を行う場合に有効。 たとえば,新しいメッセージにメッセージを取り込む場合,次のコマンドを使用すると,sed エディタを使用して,各行の先頭に山カッコとスペースを付加できる。

~|sed 's/^/> /'

その後にテキストが追加できる。 結果は,次のとおり。

> This is the text of the message
> you have included.
> 
This is the text you add yourself.