fmtmsg(1) User Commands fmtmsg(1)
fmtmsg - display a message on stderr or system console
fmtmsg [-c class] [-u subclass] [-l label] [-s severity]
[-t tag] [-a action] text
Based on a message's classification component, the fmtmsg utility either writes a format-
ted message to stderr or writes a formatted message to the console.
A formatted message consists of up to five standard components (see environment variable
MSGVERB in the ENVIRONMENT VARIABLES section of this page). The classification and sub-
class components are not displayed as part of the standard message, but rather define the
source of the message and direct the display of the formatted message.
The following options are supported:
-c class Describes the source of the message. Valid keywords are:
hard The source of the condition is hardware.
soft The source of the condition is software.
firm The source of the condition is firmware.
-u subclass A list of keywords (separated by commas) that further defines the message
and directs the display of the message. Valid keywords are:
appl The condition originated in an application. This keyword
should not be used in combination with either util or opsys.
util The condition originated in a utility. This keyword should not
be used in combination with either appl or opsys.
opsys The message originated in the kernel. This keyword should not
be used in combination with either appl or util.
recov The application will recover from the condition. This keyword
should not be used in combination with nrecov.
nrecov The application will not recover from the condition. This key-
word should not be used in combination with recov.
print Print the message to the standard error stream stderr.
console Write the message to the system console. print, console, or
both may be used.
-l label Identifies the source of the message.
-s severity Indicates the seriousness of the error. The keywords and definitions of
the standard levels of severity are:
halt The application has encountered a severe fault and is halting.
error The application has detected a fault.
warn The application has detected a condition that is out of the ordi-
nary and might be a problem.
info The application is providing information about a condition that
is not in error.
-t tag The string containing an identifier for the message.
-a action A text string describing the first step in the error recovery process.
This string must be written so that the entire action argument is inter-
preted as a single argument. fmtmsg precedes each action string with the
TO FIX: prefix.
text A text string describing the condition. Must be written so that the entire
text argument is interpreted as a single argument.
Example 1 Standard message format
The following example of fmtmsg produces a complete message in the standard message format
and displays it to the standard error stream.
example% fmtmsg -c soft -u recov,print,appl -l UX:cat \
-s error -t UX:cat:001 -a "refer to manual" "invalid syntax"
UX:cat: ERROR: invalid syntax
TO FIX: refer to manual UX:cat:138
Example 2 Using MSGVERB
When the environment variable MSGVERB is set as follows:
and Example 1 is used, fmtmsg produces:
ERROR: invalid syntax
TO FIX: refer to manual
Example 3 Using SEV_LEVEL
When the environment variable SEV_LEVEL is set as follows:
the following fmtmsg command:
example% fmtmsg -c soft -u print -l UX:cat -s note \
-a "refer to manual" "invalid syntax"
NOTE: invalid syntax
TO FIX: refer to manual
and displays the message on stderr.
The environment variables MSGVERB and SEV_LEVEL control the behavior of fmtmsg. MSGVERB is
set by the administrator in the /etc/profile for the system. Users can override the value
of MSGVERB set by the system by resetting MSGVERB in their own .profile files or by chang-
ing the value in their current shell session. SEV_LEVEL can be used in shell scripts.
MSGVERB tells fmtmsg which message components to select when writing messages to stderr.
The value of MSGVERB is a colon-separated list of optional keywords. MSGVERB can be set as
Valid keywords are: label, severity, text, action, and tag. If MSGVERB contains a keyword
for a component and the component's value is not the component's null value, fmtmsg
includes that component in the message when writing the message to stderr. If MSGVERB does
not include a keyword for a message component, that component is not included in the dis-
play of the message. The keywords may appear in any order. If MSGVERB is not defined, if
its value is the null string, if its value is not of the correct format, or if it contains
keywords other than the valid ones listed above, fmtmsg selects all components.
MSGVERB affects only which message components are selected for display. All message compo-
nents are included in console messages.
SEV_LEVEL defines severity levels and associates print strings with them for use by
fmtmsg. The standard severity levels shown below cannot be modified. Additional severity
levels can be defined, redefined, and removed.
0 (no severity is used)
SEV_LEVEL is set as follows:
description is a comma-separated list containing three fields:
description=severity_keyword, level, printstring
severity_keyword is a character string used as the keyword with the -s severity option to
level is a character string that evaluates to a positive integer (other than 0, 1, 2, 3,
or 4, which are reserved for the standard severity levels). If the keyword severity_key-
word is used, level is the severity value passed on to fmtmsg(3C).
printstring is the character string used by fmtmsg in the standard message format whenever
the severity value level is used.
If SEV_LEVEL is not defined, or if its value is null, no severity levels other than the
defaults are available. If a description in the colon separated list is not a comma sepa-
rated list containing three fields, or if the second field of a comma separated list does
not evaluate to a positive integer, that description in the colon separated list is
The following exit values are returned:
0 All the requested functions were executed successfully.
1 The command contains a syntax error, an invalid option, or an invalid argument to
2 The function executed with partial success, however the message was not displayed
4 The function executed with partial success; however, the message was not displayed
on the system console.
32 No requested functions were executed successfully.
See attributes(5) for descriptions of the following attributes:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|Availability |SUNWcsu |
addseverity(3C), fmtmsg(3C), attributes(5)
SunOS 5.11 20 Jul 1994 fmtmsg(1)