メールのアドレスを指定して送信するスクリプトがありますが、ファイルを作成せずにメッセージに本文が必要で、標準の MAIL コマンドラインでファイルを挿入します。
どうやってやるの?
作成したい本文が SYS$OUTPUT に書き込むことができるもの (たとえば、コマンド プロシージャまたは DCL コマンドの出力) であると仮定すると、次のように、DCL PIPE を使用して出力を VMS メールにパイプできます。
$ PIPE write sys$output "The date is ", f$cvtime() | MAIL SYS$INPUT smith/SUBJ="Piping in DCL"
また
$ PIPE DIR *.LOG | MAIL SYS$INPUT smith/SUBJ="Piping in DCL"
PIPE コマンドは、OpenVMS V7.1 で追加されました。どういうわけか 7.1 より前のシステムを使用している場合、唯一の選択肢は一時ファイルへの書き込みとクリーンアップです。
編集: コメントに答えるために、Mail コマンドからインタラクティブな表示を削除したい場合は、次のように SYS$OUTPUT を NLA0: にリダイレクトできます。
$ PIPE DIR *.LOG | MAIL SYS$INPUT smith/SUBJ="Piping in DCL" > NLA0:
エラー メッセージは SYS$ERROR に送られるため、引き続きエラーが表示されます。詳細については、HELP PIPE を参照してください。
スクリプトに、メッセージの本文を保持するための一時ファイルを作成させます。
メールは、ユーザーのリストや/subjなどのテキストファイルをコマンドラインで受け入れます