| Current File : //usr/share/man/ja_JP.UTF-8/man1/fmtmsg.1 |
'\" te
.\" Copyright 1989 AT&T Copyright (c) 1994, Sun Microsystems, Inc. All Rights Reserved
.\" 2003, Sun Microsystems, Inc. All Rights Reserved
.TH fmtmsg 1 "1994 年 7 月 20 日" "SunOS 5.11" "ユーザーコマンド"
.SH 名前
fmtmsg \- stderr またはシステムコンソールへのメッセージ表示
.SH 形式
.LP
.nf
\fBfmtmsg\fR [\fB-c\fR \fIclass\fR] [\fB-u\fR \fIsubclass\fR] [\fB-l\fR \fIlabel\fR] [\fB-s\fR \fIseverity\fR] [\fB-t\fR \fItag\fR] [\fB-a\fR \fIaction\fR] \fItext\fR
.fi
.SH 機能説明
.sp
.LP
\fBfmtmsg\fR は、メッセージの分類コンポーネントに基づいて、書式付きメッセージを \fBstderr\fR またはコンソールに書き出します。
.sp
.LP
書式付きメッセージは、 標準コンポーネントで構成されます (「環境」の項の環境変数 \fBMSGVERB\fR を参照)。このうち分類コンポーネントとサブクラスコンポーネントの 2 つは、標準メッセージの一部としては表示されません。 これらはメッセージの発行元を定義し、書式付きメッセージの表示先を指定するために使われます。
.SH オプション
.sp
.LP
サポートしているオプションは、次のとおりです。
.sp
.ne 2
.mk
.na
\fB\fB-c\fR \fIclass\fR\fR
.ad
.RS 16n
.rt
メッセージ発行の原因となった状態の種類を表します。以下のキーワードが指定可能です。
.sp
.ne 2
.mk
.na
\fB\fBhard\fR \fR
.ad
.RS 9n
.rt
状態の発生元はハードウェア
.RE
.sp
.ne 2
.mk
.na
\fB\fBsoft\fR \fR
.ad
.RS 9n
.rt
状態の発生元はソフトウェア
.RE
.sp
.ne 2
.mk
.na
\fB\fBfirm\fR \fR
.ad
.RS 9n
.rt
状態の発生元はファームウェア
.RE
.RE
.sp
.ne 2
.mk
.na
\fB\fB-u\fR \fIsubclass\fR \fR
.ad
.RS 16n
.rt
メッセージをさらに定義しメッセージの表示先を示すための、一連のキーワードを subclass に指定します。 キーワード間はコンマで区切ります。以下のキーワードが指定可能です。
.sp
.ne 2
.mk
.na
\fB\fBappl\fR \fR
.ad
.RS 12n
.rt
状態の発生はアプリケーション中に起因しています。このキーワードは \fButil\fR および \fBopsys\fR と同時には指定できません。
.RE
.sp
.ne 2
.mk
.na
\fB\fButil\fR \fR
.ad
.RS 12n
.rt
状態の発生はユーティリティー中に起因しています。このキーワードは \fBappl\fR および \fBopsys\fR と同時には指定できません。
.RE
.sp
.ne 2
.mk
.na
\fB\fBopsys\fR \fR
.ad
.RS 12n
.rt
状態の発生はカーネル中に起因しています。このキーワードは \fBappl\fR および \fButil\fR と同時には指定できません。
.RE
.sp
.ne 2
.mk
.na
\fB\fBrecov\fR \fR
.ad
.RS 12n
.rt
アプリケーションをその状態から回復させます。このキーワードは \fBnrecov\fR と同時には指定できません。
.RE
.sp
.ne 2
.mk
.na
\fB\fBnrecov\fR \fR
.ad
.RS 12n
.rt
アプリケーションをその状態から回復させません。このキーワードは \fBrecov\fR と同時には指定できません。
.RE
.sp
.ne 2
.mk
.na
\fB\fBprint\fR\fR
.ad
.RS 12n
.rt
標準エラーストリーム \fBstderr\fR にメッセージを書き出します。
.RE
.sp
.ne 2
.mk
.na
\fB\fBconsole\fR \fR
.ad
.RS 12n
.rt
システムコンソールにメッセージを書き出します。\fBprint\fR と \fBconsole\fR を両方指定することも可能です。
.RE
.RE
.sp
.ne 2
.mk
.na
\fB\fB-l\fR \fIlabel\fR \fR
.ad
.RS 16n
.rt
メッセージの発行元を指定します。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-s\fR \fIseverity\fR \fR
.ad
.RS 16n
.rt
エラーの重大度を指定します。標準レベルの重大度として \fIseverity\fR に指定できるキーワードとその意味を以下に説明します。
.sp
.ne 2
.mk
.na
\fB\fBhalt\fR \fR
.ad
.RS 9n
.rt
アプリケーションが重大なエラーを検出し、処理を中断しています。
.RE
.sp
.ne 2
.mk
.na
\fB\fBerror\fR\fR
.ad
.RS 9n
.rt
アプリケーションがエラーを検出しました。
.RE
.sp
.ne 2
.mk
.na
\fB\fBwarn\fR\fR
.ad
.RS 9n
.rt
アプリケーションが、通常は起こらない状態を検出しました。エラーの可能性があります。
.RE
.sp
.ne 2
.mk
.na
\fB\fBinfo\fR\fR
.ad
.RS 9n
.rt
アプリケーションは、エラーではない単なる情報を通知しています。
.RE
.RE
.sp
.ne 2
.mk
.na
\fB\fB-t\fR \fItag\fR \fR
.ad
.RS 16n
.rt
メッセージの識別子を含んだ文字列を指定します。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-a\fR \fIaction\fR \fR
.ad
.RS 16n
.rt
エラー回復処理の第 1 ステップを述べた文字列を指定します。 \fIaction\fR 引数は、それ全体が 1 つの文字列であると正しく解釈されるように 記述しなければなりません。\fBfmtmsg\fR は、この action で指定した文字列の前に \fBTO FIX:\fR を付加します。
.RE
.sp
.ne 2
.mk
.na
\fB\fItext\fR \fR
.ad
.RS 16n
.rt
状態を表すテキスト文字列を指定します。\fItext\fR 引数は、それ全体が 1 つの文字列であると正しく解釈されるように 記述しなければなりません。
.RE
.SH 使用例
.LP
\fB例 1 \fR標準メッセージ形式
.sp
.LP
次に示す \fBfmtmsg\fR は、標準メッセージ形式で完全なメッセージを生成し、それを標準エラーストリームに書き出す例です。
.sp
.in +2
.nf
example% \fBfmtmsg -c soft -u recov,print,appl -l UX:cat \e
-s error -t UX:cat:001 -a "refer to manual" "invalid syntax"\fR
.fi
.in -2
.sp
.sp
.LP
結果:
.sp
.in +2
.nf
UX:cat: ERROR: invalid syntax
TO FIX: refer to manual UX:cat:138
.fi
.in -2
.sp
.LP
\fB例 2 \fRMSGVERB を使用する
.sp
.LP
環境変数 \fBMSGVERB\fR が次のように設定されているとします。
.sp
.in +2
.nf
\fBMSGVERB=severity:text:action\fR
.fi
.in -2
.sp
.sp
.LP
このとき前述の例 1 の \fBfmtmsg\fR コマンドを実行すると、以下の出力が得られます。
.sp
.in +2
.nf
ERROR: invalid syntax
TO FIX: refer to manual
.fi
.in -2
.sp
.LP
\fB例 3 \fRSEV_LEVEL を使用する
.sp
.LP
環境変数 \fBSEV_LEVEL\fR が次のように設定されているとします。
.sp
.in +2
.nf
\fBSEV_LEVEL=note,5,NOTE\fR
.fi
.in -2
.sp
.sp
.LP
このとき次の \fBfmtmsg\fR コマンドを実行します。
.sp
.in +2
.nf
example% \fBfmtmsg -c soft -u print -l UX:cat -s note \e
-a "refer to manual" "invalid syntax"\fR
.fi
.in -2
.sp
.sp
.LP
結果:
.sp
.in +2
.nf
NOTE: invalid syntax
TO FIX: refer to manual
.fi
.in -2
.sp
.sp
.LP
また、\fBstderr\fR にメッセージが出力されます。
.SH 環境
.sp
.LP
\fBfmtmsg\fR の動作は、 2 つの環境変数 \fBMSGVERB\fR と \fBSEV_LEVEL\fR により制御されています。\fBMSGVERB\fR はシステム管理者によって、システム用の \fB/etc/profile\fR 中に設定されています。ユーザーは、このシステムに設定された値以外の \fBMSGVERB\fR 値を使用することができます。その方法としては、ユーザーの \fB\&.profile\fR ファイル中にある \fBMSGVERB\fR をリセットする、現在のシェルセッション内で値を変更する、の 2 通りがあります。\fBSEV_LEVEL\fR はシェルスクリプト中で使用できます。
.sp
.LP
メッセージを \fBstderr\fR に出力するとき、どのコンポーネントを選択すべきかを \fBMSGVERB\fR が \fBfmtmsg\fR に伝えます。\fBMSGVERB\fR の値は一連のキーワードで、キーワード間はコロンで区切ります。\fBMSGVERB\fR は次に示す形式で設定できます。
.sp
.in +2
.nf
\fBMSGVERB=[\fIkeyword\fR[:\fIkeyword\fR[:...]]]
export MSGVERB\fR
.fi
.in -2
.sp
.sp
.LP
\fIkeywords\fR としては、 \fBlabel\fR 、 \fBseverity\fR 、 \fBtext\fR 、 \fBaction\fR 、 \fBtag\fR が指定できます。\fBMSGVERB\fR がコンポーネント用のキーワードを含んでいて、そのコンポーネントの値が NULL 文字列ではない場合、 \fBfmtmsg\fR はメッセージを \fBstderr\fR に書き出す際にそのコンポーネントをメッセージ中に挿入します。\fBMSGVERB\fR がコンポーネント用のキーワードを含んでいなければ、 そのコンポーネントはメッセージ表示には含まれません。前述のキーワードは任意の順序で指定できます。\fBMSGVERB\fR が定義されていない、値が NULL 文字列である、値の形式が正しくない、前述のもの以外のキーワードを含んでいる、といった場合には、\fBfmtmsg\fR はすべてのコンポーネントを選択します。
.sp
.LP
\fBMSGVERB\fR は、どのコンポーネントを選択するかを表しますが、 これは表示用のメッセージに関してだけです。コンソールへ出力されるメッセージには、常にすべてのコンポーネントが含まれます。
.sp
.LP
\fBSEV_LEVEL\fR は重大度レベルを定義し、\fBfmtmsg\fR で使用できるように印刷文字列をそれらのレベルに対応させます。なお以下に示す標準重大度レベルは、変更することはできません。これ以外のレベルは、定義したり、再定義したり、削除したりすることが可能です。
.sp
.ne 2
.mk
.na
\fB\fB0\fR \fR
.ad
.RS 6n
.rt
(重大度は使用されません)
.RE
.sp
.ne 2
.mk
.na
\fB\fB1\fR \fR
.ad
.RS 6n
.rt
\fBHALT\fR
.RE
.sp
.ne 2
.mk
.na
\fB\fB2\fR \fR
.ad
.RS 6n
.rt
\fBERROR\fR
.RE
.sp
.ne 2
.mk
.na
\fB\fB3\fR\fR
.ad
.RS 6n
.rt
\fBWARNING\fR
.RE
.sp
.ne 2
.mk
.na
\fB\fB4\fR \fR
.ad
.RS 6n
.rt
\fBINFO\fR
.RE
.sp
.LP
\fBSEV_LEVEL\fR は次の形式で設定できます。
.sp
.LP
\fIdescription\fR は 3 つのフィールドで構成され、フィールド間は コンマで区切ります。
.sp
.in +2
.nf
\fBSEV_LEVEL= [\fIdescription\fR[:\fIdescription\fR[:...]]]
export SEV_LEVEL\fR
.fi
.in -2
.sp
.sp
.LP
\fIdescription\fR=\fIseverity_keyword\fR, \fIlevel\fR, \fIprintstring\fR
.sp
.LP
最初のフィールド \fIseverity_keyword\fR は、 \fBfmtmsg\fR の \fB-s\fR \fIseverity\fR オプションで指定できるキーワードの いずれかと同じ文字列です。
.sp
.LP
次のフィールド \fIlevel\fR は、評価の結果が正の整数となる文字列です。ただしその整数値は、標準重大度レベルとして予約されている \fB0\fR 、 \fB1\fR 、 \fB2\fR 、 \fB3\fR 、または \fB4\fR であってはいけません。キーワード \fIseverity_keyword\fR が指定されていると、\fIlevel\fR の値は重大度の値として \fBfmtmsg\fR(3C) に渡されます。
.sp
.LP
3 番目のフィールド \fIprintstring\fR は、前述の重大度値 \fIlevel\fR が用いられる際に \fBfmtmsg\fR が標準メッセージ形式で使用する文字列です。
.sp
.LP
\fBSEV_LEVEL\fR が定義されていない場合、またはその値が NULL 文字列の場合には、デフォルトの重大度レベル値だけが使用可能です。コロンで区切られた一連の \fIdescription\fR の中に、その内容がコンマで区切られた 3 つのフィールドで構成されていないものがあるとき、または第 2 フィールドの値が正の整数に評価されないものがあるとき、その \fIdescription\fR は無視されます。
.SH 終了ステータス
.sp
.LP
次の終了ステータスが返されます。
.sp
.ne 2
.mk
.na
\fB\fB0\fR \fR
.ad
.RS 7n
.rt
指定された機能はすべて正常に実行されました。
.RE
.sp
.ne 2
.mk
.na
\fB\fB1\fR\fR
.ad
.RS 7n
.rt
コマンド中に、構文の誤り、不正なオプション、 またはオプションに対する不正な引数が検出されました。
.RE
.sp
.ne 2
.mk
.na
\fB\fB2\fR\fR
.ad
.RS 7n
.rt
機能は部分的に正常終了したが、メッセージは \fBstderr\fR に出力されませんでした。
.RE
.sp
.ne 2
.mk
.na
\fB\fB4\fR\fR
.ad
.RS 7n
.rt
機能は部分的に正常終了したが、メッセージは システムコンソールに出力されませんでした。
.RE
.sp
.ne 2
.mk
.na
\fB\fB32\fR \fR
.ad
.RS 7n
.rt
要求された機能はいずれも正常に終了しませんでした。
.RE
.SH 属性
.sp
.LP
属性についての詳細は、マニュアルページの \fBattributes\fR(5) を参照してください。
.sp
.sp
.TS
tab() box;
cw(2.75i) |cw(2.75i)
lw(2.75i) |lw(2.75i)
.
属性タイプ属性値
_
使用条件system/core-os
.TE
.SH 関連項目
.sp
.LP
\fBaddseverity\fR(3C), \fBfmtmsg\fR(3C), \fBattributes\fR(5)