Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

addseverity(3C)

fmtmsg(3C)

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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026