ANNOTATE-OUTPUT(1)

BEZEICHNUNG
annotate-output - versieht Programmausgaben mit Zeit und Datenstrom

ÜBERSICHT
annotate-output [Optionen …] Programm [Argumente …]

BESCHREIBUNG
annotate-output führt Programm mit Argumente als Argumente aus und stellt den ausgegebenen Zeilen eine Formatzeichenkette gefolgt von einem Indikator, auf welchem Datenstrom die Zeile ausgegeben wurde, gefolgt von einem Doppelpunkt und einem Leerzeichen voran.
Die Indikatoren für den jeweiligen Datenstrom sind I für Informationen von annotate-output, O für die Standardausgabe (STDOUT) und E für die Standardfehlerausgabe (STDERR) des Programms.

OPTIONEN

+FORMAT
    Eine Formatzeichenkette die Konvertierungskennzeichner des date(1)-Hilfsprogramms beinhalten kann. Die ausgegebene Zeichenkette ist von dem folgenden Datenstrom-Indikator durch ein Leerzeichen getrennt und kann durch spätere Optionen, die die Formatzeichenkette spezifizieren, außer Kraft gesetzt werden.
    Standardmäßig »%H:%M:%S«.

--raw-date-format FORMAT
    Eine Formatzeichenkette die Konvertierungskennzeichner des date(1)-Hilfsprogramms beinhalten kann. Es gibt kein Trennzeichen zwischen der ausgegebenen Zeichenkette und dem folgenden Datenstrom-Indikator. Kann durch spätere Optionen überschrieben werden, die die Formatzeichenkette spezifizieren.

--  Beendet das Auswerten von Optionen (wenn es selbst kein Argument einer Option ist).

-h, --help
    Zeigt eine Hilfenachricht.

EXIT-STATUS
Wenn Programm ausgeführt wird, wird der Exit-Status von annotate-output zu dem Exit-Status von Programm; andernfalls kann annotate-output mit einem der folgenden Werte enden:

0   -h oder --help wurde verwendet.

125 Es ist ein Fehler in annotate-output aufgetreten.

126 Programm wurde gefunden, konnte aber nicht ausgeführt werden.

127 Programm konnte nicht gefunden werden oder wurde nicht angegeben.

BEISPIEL

$ annotate-output make
21:41:21 I: Started make
21:41:21 O: gcc -Wall program.c
21:43:18 E: program.c: Couldn't compile, and took me ages to find out
21:43:19 E: collect2: ld returned 1 exit status
21:43:19 E: make: *** [all] Error 1
21:43:19 I: Finished with exitcode 2

WARNUNGEN UND FEHLER
Da die Standardausgabe (STDOUT) und die Standardfehlerausgabe (STDERR) parallel verarbeitet werden, kann es vorkommen, dass einige Zeilen, die auf der Standardausgabe empfangen werden, vor später ausgegebenen Zeilen auf der Standardfehlerausgabe erscheinen (und umgekehrt).
Dies ist leider sehr schwer mit der derzeitigen Kommentierungsstrategie zu beheben. Eine Fehlerbehebung würde ein PTRACE des Prozesses einbeziehen. Wenn Sie dem Programm per »nice« eine (viel) höhere Priorität geben, kann dies jedoch die Häufigkeit verringern.

annotate-output erwartet von Programm eine Ausgabe von (Text-)Zeilen (wie durch POSIX spezifiziert) auf STDOUT und STDERR.
Insbesondere führt es zu undefiniertem Verhalten, wenn Zeilen mit NUL Bytes ausgegeben werden. Es kann des Weiteren zu undefiniertem Verhalten führen, wenn Zeilen mit Bytes ausgegeben werden, die ungültige Zeichen in der aktuell eingestellten Locale darstellen.

Wenn ein interaktives Programm auf eine Eingabe wartet, kann es sein, dass die Frage erst angezeigt wird, nachdem Sie sie beantwortet haben. Das kann den Eindruck vermitteln, dass Programm sich aufgehängt hat, was aber nicht der Fall ist.

annotate-output ist als Skript in der Shell Command Language implementiert. Shells setzen beim Starten normalerweise einige (Shell-)Variablen und können das Attribut »export« für einige Variablen setzen. Des Weiteren initialisieren sie (Shell-)Variablen aus ihrer eigenen Umgebung (wie durch das aufrufende Programm der Shell bzw. das aufrufende Programm von annotate-output gesetzt) und setzen das Attribut »export« für diese.
Daraus folgt, dass wenn das aufrufende Programm von annotate-output Umgebungsvariablen für Programm setzen möchte, diese überschrieben werden oder zusätzliche Variablen durch die Shell gesetzt werden können.
Weiterhin können Umgebungsvariablen prinzipiell Namen haben (z.B. ».«), die keine validen Shell-Variablennamen sind. POSIX spezifiziert nicht, ob solche Umgebungsvariablen von einer Shell zu einem gestarteten Programmen exportiert werden. Es können daher keine Annahmen getroffen werden, ob solche Umgebungsvariablen korrekt oder überhaupt zu Programm exportiert werden.

SIEHE AUCH
date(1)

UNTERSTÜTZUNG
annotate-output wird von der Gemeinschaft unterstützt (heißt: Sie müssen selbst Fehler beheben). Patches werden jedoch gewürdigt, wie auch andere (positive oder negative) Rückmeldung.

AUTOR
Diese Handbuchseite wurde von Jeroen van Wolffelaar <jeroen@wolffelaar geschrieben. nl> und kann unter Einhaltung der GPL Version 2 weiterverbreitet werden. Das annotate-output Skript wurde von Johannes Schauer Marin Rodrigues <josch@debian.org> neu geschrieben und kann unter Einhaltung der Expat-Lizenz weiterverbreitet werden.

ÜBERSETZUNG
Diese Übersetzung wurde mit dem Werkzeug po4a <URL:https://po4a.org/> durch Chris Leick c.leick@vollbio.de im Juli 2012 erstellt und vom deutschen Debian-Übersetzer-Team korrekturgelesen. Bitte melden Sie alle Fehler in der Übersetzung an debian-l10n-german@lists.debian.org oder als Fehlerbericht an das Paket devscripts. Sie können mit dem folgenden Befehl das englische Original anzeigen »man -L C Abschnitt deutsche_Handbuchseite«.