Provided by: manpages-de_4.15.0-9_all bug

BEZEICHNUNG

       script - Eingabeskript einer Terminalsitzung anlegen

ÜBERSICHT

       script [Optionen] [Datei]

BESCHREIBUNG

       script erstellt ein Eingabeskript Ihrer gesamten Terminalsitzung. Die Terminal-Rohdaten
       werden in einer Protokolldatei und Timing-Informationen (optional) in einer weiteren,
       strukturierten Datei gespeichert. Die Timing-Protokolldatei ist zur späteren Wiedergabe
       der Sitzung mit scriptreplay(1) und zum Speichern zusätzlicher Informationen zur Sitzung
       notwendig.

       Seit Version 2.35 unterstützt script mehrere Datenströme und ermöglicht die
       Protokollierung der Ein- und Ausgaben entweder in separate Dateien oder in eine Datei.
       Diese Version unterstützt auch die neue Timing-Datei, welche zusätzliche Informationen
       aufzeichnet. Der Befehl scriptreplay --summary stellt dann alle Informationen bereit.

       Falls das Argument Datei oder die Option --log-out Datei angegeben ist, speichert script
       den Dialog in dieser Datei. Falls kein Dateiname angegeben ist, wird der Dialog in der
       Datei typescript gespeichert.

       Beachten Sie, dass die Protokolleingaben mit --log-in oder --log-io sicherheitskritisch
       sein können, da die Protokolldatei sämtliche Eingaben der Terminalsitzung beinhaltet (auch
       Passwörter), unabhängig davon, wie der Echo-Schalter des Terminals gesetzt ist.

OPTIONEN

       Nachfolgend kann dem Argument Größe eines der multiplikativen Suffixe KiB (=1024), MiB
       (=1024*1024) und so weiter für GiB, TiB, PiB, EiB, ZiB und YiB folgen (das »iB« ist
       optional, zum Beispiel ist »K« gleichbedeutend mit »KiB«) oder die Suffixe KB (=1000), MB
       (=1000*1000) und so weiter für GB, TB, PB, EB, ZB und YB folgen.

       -a, --append
           hängt die Ausgabe an Datei oder typescript an, wobei der vorherige Inhalt erhalten
           bleibt.

       -c, --command Befehl
           führt den Befehl anstelle einer interaktiven Shell aus. Das erleichtert es einem
           Skript, die Ausgabe eines Programms aufzuzeichnen, das sich anders verhält, wenn die
           Standardausgabe kein TTY ist.

       -E, --echo WANN
           steuert den ECHO-Schalter des Pseudoterminals innerhalb der Sitzung. Unterstützte Modi
           sind always (immer), never (nie) oder auto (automatisch).

           Die Voreinstellung ist auto – in diesem Fall wird ECHO für den Pseudoterminal-Slave
           aktiviert; falls die aktuelle Standardeingabe ein Terminal ist, wird ECHO deaktiviert,
           um ein Doppel-Echo zu vermeiden, falls die Standardeingabe kein Terminal ist (zum
           Beispiel eine Pipe: echo date | script), dann wird ECHO für den Pseudoterminal-Slave
           aktiviert belassen, um die Daten der Standardeingabe weiter auf dem Bildschirm
           anzuzeigen, während diese gleichzeitig in das Sitzungsprotokoll geschrieben werden.

           Beachten Sie, dass sich der Modus »never« auf den Inhalt Sitzungsprotokollausgabe
           auswirkt, da die Benutzereingaben in der Ausgabe nicht wiederholt werden.

       -e, --return
           gibt den Exit-Status des Kindprozesses zurück. Dafür wird das gleiche Format wie bei
           der Beendigung der Bash benutzt, bei der der Exit-Status 128 + die Signalnunmmer ist.
           Der Exit-Status des Kindprozesses wird auch immer in der Eingabeskript-Datei
           gespeichert.

       -f, --flush
           aktualisiert die Ausgabe nach jedem Schreibvorgang. Dies ist für die
           Fernzusammenarbeit hilfreich: Eine Person schreibt mkfifo foo; script -f foo und eine
           andere kann mit cat foo in Echtzeit beaufsichtigen, was geschieht. Beachten Sie, dass
           sich die Aktualisierung auf die Performance auswirkt. Es ist möglich, bei Bedarf
           Protokolle mit SIGUSR1 zu aktualisieren.

       --force
           ermöglicht, dass die standardmäßige Ausgabedatei, also die Eingabeskript-Datei, ein
           harter oder symbolischer Link sein kann. Der Befehl wird einem symbolischen Link
           folgen.

       -B, --log-io Datei
           protokolliert Ein- und Ausgabe in die gleiche Datei. Beachten Sie, dass diese Option
           nur Sinn ergibt, wenn auch --log-timing angegeben wird. Anderenfalls ist es unmöglich,
           Ein- und Ausgabedatenströme für die Protokollierung in die Datei zu trennen.

       -I, --log-in Datei
           protokolliert die Eingabe in die angegebene Datei. Die Protokollausgabe ist
           deaktiviert, falls nur --log-in angegeben ist.

           Verwenden Sie diese Protokollierungsfunktionalität mit Vorsicht, da sie alle Eingaben
           protokolliert, auch jene eines Terminals, bei denen der Echo-Schalter deaktiviert ist
           (zum Beispiel Passworteingaben).

       -O, --log-out Datei
           protokolliert die Ausgabe in die angegebene Datei. Standardmäßig wird die Ausgabe in
           eine Datei namens typescript protokolliert, falls die Option --log-out oder --log-in
           nicht angegeben ist. Falls nur --log-in angegeben ist, wird die Protokollierung der
           Ausgabe deaktiviert.

       -T, --log-timing Datei
           protokolliert die Timing-Informationen in die angegebene Datei. Derzeit werden zwei
           Formate der Timing-Datei unterstützt. Das klassische Format wird verwendet, wenn die
           Protokollierung nur eines Datenstroms (Eingabe oder Ausgabe) aktiviert ist. Das
           Multi-Datenstrom-Format wird verwendet, wenn --log-io angegeben ist oder --log-in und
           --log-out zusammen angegeben sind. Siehe auch --logging-format.

       -m, --logging-format Format
           erzwingt die Verwendung des erweiterten oder klassischen Formats. Die Voreinstellung
           ist das klassische Format, wenn nur die Ausgabe protokolliert wird, beziehungsweise
           das erweiterte Format, wenn die Protokollierung sowohl der Eingabe als auch der
           Ausgabe angefordert werden.

           Klassisches Format
               Diese Daten enthalten zwei Felder, die durch Leerraum getrennt sind. Das erste
               Feld gibt an, wie viel Zeit seit der vorigen Ausgabe vergangen ist. Das zweite
               Feld gibt die Anzahl der in dieser Zeit ausgegebenen Zeichen an.

           Erweitertes (Multi-Datenstrom-) Format
               Das erste Feld ist ein Bezeichner für den Typ des Eintrags: I (Eingabe), O
               (Ausgabe), H (Header/Kopfzeilen), S (Signal). Das zweite Feld gibt an, wie viel
               Zeit seit dem vorigen Eintrag vergangen ist, und der Rest besteht aus
               typspezifischen Daten.

       -o, --output-limit Größe
           begrenzt die Größe der Eingabeskript- und Zeitmessungsdateien auf den angegebenen Wert
           und stoppt den Kindprozess, nachdem diese Größe überschritten wurde. In die Berechnung
           der Dateigröße werden die Start- und Ende-Meldungen nicht einbezogen, die der Befehl
           script der Ausgabe des Kindprozesses voranstellt bzw. anhängt. Wegen der Pufferung
           kann die Ausgabedatei größer als der angegebene Wert sein.

       -q, --quiet
           unterdrückt Meldungen (die Meldungen zu Beginn und Ende werden nicht in die
           Standardausgabe geschrieben).

       -t[Datei], --timing[=Datei]
           schreibt die Timing-Daten in die Standardfehlerausgabe oder in die optional angegebene
           Datei. Diese Option ist veraltet. Sie sollten stattdessen --log-timing verwenden,
           wobei das Argument Datei verpflichtend ist.

       -h, --help
           zeigt einen Hilfetext an und beendet das Programm.

       -V, --version
           zeigt die Versionsnummer an und beendet das Programm.

SIGNALE

       Nach dem Empfang des Signals SIGUSR1 aktualisiert script sofort die Ausgabedateien.

UMGEBUNGSVARIABLEN

       Die folgende Umgebungsvariable wird von script verwendet:

       SHELL
           Falls die Variable SHELL existiert, dann wird die von script geforkte Shell diese
           Shell sein. Falls SHELL nicht gesetzt ist, wird die Bourne-Shell angenommen (die
           meisten Shells setzen diese Variable automatisch).

ANMERKUNGEN

       Das Skript endet, wenn die mit fork gestartete Shell beendet wird (ein Strg-D für die
       Bourne-Shell (sh(1p)) und exit, logout oder Strg-d (falls ignoreeof nicht gesetzt ist) für
       die C-Shell, csh(1)).

       Bestimmte interaktive Befehle, wie vi(1), erzeugen Datenmüll in der Eingabeskript-Datei.
       Der Befehl script funktioniert mit Befehlen am besten, die den Bildschirm nicht
       manipulieren, die Ergebnisse sollen ein Hardcopy-Terminal nachahmen.

       Es wird nicht empfohlen, script in nicht-interaktiven Shells auszuführen. Die innere Shell
       von script ist immer interaktiv, was zu unerwarteten Ergebnissen führen könnte. Falls Sie
       script in der Shell-Initialisierungsdatei verwenden, müssen Sie verhindern, dass es eine
       Endlosschleife durchläuft. Sie können beispielsweise die Datei .profile verwenden, die nur
       von Anmelde-Shells gelesen wird:

           if test -t 0 ; then
               script
               exit
           fi

       Sie sollten es auch vermeiden, script in Befehlsweiterleitungen (Pipes) zu verwenden, da
       script mehr Eingaben lesen kann, als Sie erwarten würden.

GESCHICHTE

       Der Befehl script erschien in 3.0BSD.

FEHLER

       script schreibt alles in die Protokolldatei, auch Zeilenvorschübe und Rückschritte. Das
       ist nicht das, was der naive Benutzer erwartet.

       script wurde primär für interaktive Terminalsitzungen entworfen. Wenn die Standardeingabe
       kein Terminal ist (zum Beispiel: echo foo | script), dann könnte die Sitzung
       hängenbleiben, weil der interaktiven Shell innerhalb der script-Sitzung die
       Dateiende-Markierung (EOF) fehlt und script keinen Anhaltspunkt hat, wann es die Sitzung
       schließen soll. Im Abschnitt ANMERKUNGEN finden Sie weitere Informationen.

SIEHE AUCH

       csh(1) (für den history-Mechanismus), scriptreplay(1), scriptlive(1)

FEHLER MELDEN

       Verwenden Sie zum Melden von Fehlern das Fehlererfassungssystem auf
       https://github.com/util-linux/util-linux/issues.

VERFÜGBARKEIT

       Der Befehl script ist Teil des Pakets util-linux, welches heruntergeladen werden kann von:
       Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann
       <mario.blaettermann@gmail.com> erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License
       Version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ oder neuer bezüglich der Copyright-
       Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an die Mailingliste der Übersetzer ⟨debian-l10n-german@lists.debian.org⟩.