Ausgabe eines Programmes verzweigen
Möchte man die Ausgabe eines Programmes auf der Standardausgabe anzeigen und gleichzeitig in eine Datei schrieben, so kann man tee(1) einsetzen. Folgender Befehl führt ein make install clean aus, schickt die Ausgabe auf die Standardausgabe und schreibt diese gleichzeitig nach /tmp/make:
# make install clean | tee /tmp/make
Existiert die Datei, in welche man die Ausgabe schreibt, schon, so wird der Inhalt dieser überschrieben. Möchte man die Ausgabe an die Datei anhängen, so dass existierender Inhalt nicht überschrieben wird, verwendet man die -a Option von tee. Sowohl auf FreeBSD als auch auf OpenBSD befindet sich tee im Basissystem.
Comments
Daniel Lorch
@ 06.05.2007 10:25 UTC
Das Programm heisst übrigens so, weil es wie der Grossbuchstabe "T" eine Verzweigung darstellen soll.
Das Problem bei "tee" ist, dass man gezwungen wird bis am Ende zuzuschauen, mit CTRL-C bricht man auch das Kommando ab. Meiner Meinung nach besser:
make install clean > /tmp/make &
tail -f /tmp/make
Wenn man die Sache weiterlaufen lassen will, drückt man CTRL-C und macht unterdessen was anderes, mit tail kann man wieder reinschauen oder mit fg den Prozess nach vorne holen.
Das Programm heisst übrigens so, weil es wie der Grossbuchstabe "T" eine Verzweigung darstellen soll.
Das Problem bei "tee" ist, dass man gezwungen wird bis am Ende zuzuschauen, mit CTRL-C bricht man auch das Kommando ab. Meiner Meinung nach besser:
make install clean > /tmp/make &
tail -f /tmp/make
Wenn man die Sache weiterlaufen lassen will, drückt man CTRL-C und macht unterdessen was anderes, mit tail kann man wieder reinschauen oder mit fg den Prozess nach vorne holen.
No new comments allowed (anymore) on this post.