Ich weiß, dass ich stdout
vor dem Ausführen eines Skripts zu einer Datei umleiten kann, aber gibt es eine Möglichkeit, auf die gesamte Ausgabe eines bereits ausgeführten Programms zuzugreifen? Wenn die Ausgabe zu lang ist, wird sie vom Terminalfenster abgeschnitten und ich kann die ersten Ausgaben nicht sehen.
Antwort1
Hier sind ein paar Vorschläge:
- Erhöhen Sie die Anzahl der beibehaltenen Zeilen in Ihrem Terminalfenster. Auf allen Systemen, die ich kann, habe ich sie normalerweise auf etwa 10.000 Zeilen eingestellt (oder das maximal mögliche ist niedriger).
- (wahrscheinlich etwas praktischer) Wenn Sie wissen, dass Sie möglicherweise die Ausgabe erfassen möchten, starten Sie eine neue Bash-Shell und leiten Sie die Ausgabe mit tee (
bash | tee record.txt
) in eine Datei um. Alle Ausgaben von Befehlen, die in dieser Shell ausgeführt werden, werden in die Datei „record.txt“ geschrieben. Leider werden Eingaben (einschließlich der von Ihnen eingegebenen Befehle) und Shell-Eingabeaufforderungen nicht erfasst. - (besser) Bevor Sie etwas ausführen, das Sie speichern möchten, verwenden Sie
script
. Dadurch werden sowohl Ihre Eingabe als auch die Programmausgabe aufgezeichnet. Wenn Sie fertig sind, beenden Sie die Shell oder geben Sie Strg-D ein. Notiz:Die vom Skript generierte Ausgabe wird möglicherweise erst geschrieben, wenn „Skript“ beendet ist.