fmtmsg(1) fmtmsg(1)
NAME
fmtmsg - Ausgabe formatierter Meldungen (formatted message)
SYNTAX
fmtmsg [option ...] meldungstext
BESCHREIBUNG
fmtmsg gibt formatierte Meldungen auf die Standardfehlerausgabe oder
auf die Systemkonsole aus.
Eine formatierte Meldung besteht aus bis zu fünf Standardkomponenten.
Die Klassifikationen und Unterklassen werden nicht als Teil der Mel-
dung ausgegeben, sondern beschreiben zum einen die Ursache und Her-
kunft der Meldung und steuern zum anderen die Ausgabe der formatierten
Meldung.
OPTIONEN
Keine Option angegeben:
fmtmsg gibt die möglichen Optionen aus.
-c klasse
(c - class) Die Herkunft der Meldung wird beschrieben. klasse
kann sein:
hard Die Meldung betrifft die Hardware.
soft Die Meldung betrifft die Software.
firm Die Meldung betrifft die Firmware.
-u unterklasse
unterklasse ist eine Liste von Schlüsselwörtern, die die Meldung
detaillierter beschreiben und die Ausgabe der Meldung steuern.
Die Schlüsselwörter müssen durch Kommas voneinander getrennt wer-
den.
Zulässige Schlüsselwörter für unterklasse sind:
appl Die Meldung kommt aus einer Anwendung. Nicht in Kombina-
tion mit util oder opsys verwenden.
util Die Meldung kommt von einem Dienstprogramm. Nicht in Kom-
bination mit appl oder opsys verwenden.
opsys Die Meldung kommt aus dem Systemkern. Nicht in Kombina-
tion mit appl oder util verwenden.
recov Die Anwendung wird sich von der Ursache der Meldung erho-
len. Nicht in Kombination mit nrecov verwenden.
nrecov Die Anwendung wird sich nicht von der Ursache der Meldung
erholen. Nicht in Kombination mit recov verwenden.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
fmtmsg(1) fmtmsg(1)
print Die Meldung wird auf die Standardfehlerausgabe geschrie-
ben.
console Die Meldung wird auf die Systemkonsole ausgegeben.
print und console können auch zusammen angegeben werden.
-l marke
(l - label) Die Herkunft der Meldung wird gekennzeichnet.
-s erheblichkeitsgrad
(s - severity) Der Erheblichkeitsgrad des aufgetretenen Fehlers
wird beschrieben. Die Schlüsselwörter und Definitionen der Erheb-
lichkeitsgrade sind:
halt Die Anwendung ist auf einen schwerwiegenden Fehler gesto-
ßen und beendet sich.
error Die Anwendung ist auf einen Fehler gestoßen.
warn Die Anwendung ist auf eine ungewöhnliche Situation gesto-
ßen, die Probleme bereiten könnte.
info Die Anwendung gibt Informationen aus, die keinen Fehler
betreffen.
-t marke
(t - tag) Eine Zeichenkette, die eine Kennzeichnung für die Mel-
dung enthält.
-a aktion
(a - action) Eine Zeichenkette, die die erste Aktion in dem Feh-
lerbehebungsprozeß beschreibt. Die Zeichenkette muß so geschrie-
ben sein, daß sie als ein einziges Argument interpretiert werden
kann. fmtmsg stellt in der Ausgabe das Präfix TO FIX: voran.
meldungstext
Der Text der Meldung. Er muß so geschrieben sein, daß er als ein
einziges Argument interpretiert werden kann.
UMGEBUNGSVARIABLEN
MSGVERB
MSGVERB wird vom Systemverwalter in /etc/profile für das System
gesetzt und kann vom Benutzer in der eigenen Profile-Datei
.profile neu belegt werden.
Der Inhalt der Variablen MSGVERB gibt an, welche Komponenten der
Meldung ausgegeben werden, wenn auf die Standardfehlerausgabe
geschrieben wird. MSGVERB enthält eine Liste von optionalen
Schlüsselwörtern, die durch Doppelpunkte voneinander getrennt
sind. MSGVERB wird folgendermaßen gesetzt:
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
fmtmsg(1) fmtmsg(1)
MSGVERB=[schlüsselwort[:schlüsselwort[:...]]]
export MSGVERB
Die zulässigen Schlüsselworte sind label, severity, text, action,
tag. Sie können in beliebiger Reihenfolge angegeben werden. Ent-
hält MSGVERB das Schlüsselwort für eine Komponente der Meldung
und ist das Argument für die Komponente im fmtmsg-Aufruf keine
leere Zeichenkette, dann wird diese Komponente in der Meldung auf
die Standardfehlerausgabe ausgegeben. Ist das Schlüsselwort nicht
in der Variablen MSGVERB enthalten, so erscheint die Komponente
auch nicht in der Ausgabe der Meldung.
fmtmsg gibt alle Komponenten der Meldung aus, falls MSGVERB nicht
definiert ist, falls der Wert der Variablen die leere Zeichen-
kette ist, falls die Schlüsselwörter im falschen Format angegeben
sind oder falls unzulässige Schlüsselwörter enthalten sind.
MSGVERB wird nur für die Meldungen ausgewertet, die für die Stan-
dardfehlerausgabe bestimmt sind. Meldungen für die Systemkonsole
enthalten immer alle Meldungskomponenten.
SEVLEVEL
Kann in Shell-Skripten verwendet werden.
In der Variablen SEVLEVEL (severity level) können, zusätzlich zu
den vordefinierten Erheblichkeitsstufen, neue Stufen definiert
werden. Die vordefinierten Stufen können nicht geändert werden.
Dies sind:
0 (keine Wertung)
1 HALT
2 ERROR
3 WARNING
4 INFO
SEVLEVEL wird folgendermaßen gesetzt:
SEVLEVEL=[beschreibung[:beschreibung[:...]]]
export SEVLEVEL
beschreibung besteht aus drei Feldern, die durch Kommas voneinan-
der getrennt sind:
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
fmtmsg(1) fmtmsg(1)
beschreibung=schlüsselwort,stufe,text
schlüsselwort kann in der Option -s verwendet werden. stufe
stellt einen positiven, ganzzahligen Wert dar, der an fmtmsg wei-
tergegeben wird, wenn das Schlüsselwort schlüsselwort verwendet
wird. Die Werte 0, 1, 2, 3 oder 4 sind reservierte Werte und kön-
nen hier nicht angegeben werden.
text ist eine Zeichenkette, die von fmtmsg ausgegeben wird, wenn
stufe benutzt wird.
Ist SEVLEVEL nicht definiert, oder enthält die Variable die
leere Zeichenkette, so sind nur die vordefinierten Erheblich-
keitsstufen verfügbar. Enthält die Belegung der Variablen Syntax-
fehler, so wird der fehlerhafte Teil ignoriert.
ENDESTATUS
0 Erfolgreiche Ausführung aller Funktionen.
1 Der Kommandoaufruf enthält einen Syntaxfehler, eine unzulässige
Option oder ein ungültiges Argument zu einer Option.
2 Die Funktion wurde nur mit teilweisem Erfolg durchgeführt, die
Meldung wurde aber nicht auf die Standardfehlerausgabe ausgegeben.
4 Die Funktion wurde nur mit teilweisem Erfolg durchgeführt, die
Meldung wurde aber nicht auf die Systemkonsole ausgegeben.
32 Keine der angeforderten Funktionen wurde erfolgreich ausgeführt.
INTERNATIONALE UMGEBUNG
Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
texte. Wenn LCMESSAGES nicht oder als leere Zeichenkette definiert
ist, wird der Wert von LANG als Standardwert herangezogen. Ist auch
LANG nicht oder als leere Zeichenkette definiert, verhält sich das
System so, als wäre es nicht internationalisiert.
Die Umgebungsvariable LCALL bestimmt die gesamte internationale Umge-
bung. LCALL hat Vorrang vor allen anderen Umgebungsvariablen im
Bereich der Internationalisierung.
BEISPIELE
Die folgende Shellprozedur soll das Kommando ls -l unter dem kürzeren
Namen ll erreichbar machen. Die Standardfehlermeldungen des Kommandos
ls werden durch den Zusatz 2>/dev/null abgefangen. Statt dessen wird
ein eventuell aufgetretener Fehler am Rückgabewert $? des Kommandos
erkannt und es wird, falls nötig, eine eigene Fehlermeldung mit dem
Kommando fmtmsg erzeugt:
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98
fmtmsg(1) fmtmsg(1)
$ cat ll
ls -l $* 2>/dev/null
case $? in
0) echo "Das war das DVZ `pwd`/$*";;
*) fmtmsg -u print -l "ll" -s error -t "(evtl. falsches DVZ)" -a \
"Versuchen Sie es mit einem anderen DVZ." "Ein Fehler ist \
aufgetreten!"
esac
$ ll krimskrams
ll: ERROR: Ein Fehler ist aufgetreten!
TO FIX: Versuchen Sie es mit einem anderen DVZ. (evtl. falsches DVZ)
$ ll kram
total 4
-rw------- 1 kmdo kmdoag 690 Mar 18 14:00 dat.Z
-rw-r--r-- 1 kmdo kmdoag 63 Mar 13 09:29 startwerte
Das war das DVZ /home/kmdo/hans/kram
SIEHE AUCH
addseverity(3C), fmtmsg(3C).
Seite 5 Reliant UNIX 5.44 Gedruckt 11/98