Umleiten von stdout _in_ einer shell

23/11/2007 - 11:13 von Andreas Pietzowski | Report spam
Hallo,

normal kann man ja mit myscript.sh >file 2>&1 die gesamten Ausgaben des
Scripts in eine Datei umlenken. Wenn ich aber nun folgendes Script habe:

#!/bin/bash
echo "dies"
echo "kommt"
echo "nach"
echo "stdout"

wie kann ich INNERHALB des Scriptes festlegen, dass der gesamte output in
eine Datei kommt? Der Grund dafür ist, dass ich in dem Script nicht bei
jeder Zeile hinten ein ">file 2>&1" hintippen möchte. Meine Idee mit

#!/bin/bash >file 2>&1

am Anfang der Datei ist leider fehlgeschlagen, was ich auch verstehen
kann ;)

Danke für Tipps
Andreas
 

Lesen sie die antworten

#1 Thomas Rachel
23/11/2007 - 11:20 | Warnen spam
Andreas Pietzowski schrieb:

wie kann ich INNERHALB des Scriptes festlegen, dass der gesamte output in
eine Datei kommt? Der Grund dafür ist, dass ich in dem Script nicht bei
jeder Zeile hinten ein ">file 2>&1" hintippen möchte. Meine Idee mit

#!/bin/bash >file 2>&1

am Anfang der Datei ist leider fehlgeschlagen, was ich auch verstehen
kann ;)



Ja. exec ist Dein Freund.

exec >file 2>&1

sollte für Deine Zwecke tun.


Thomas

Ähnliche fragen