2010-03-09 3 views
6

Ich erstelle ein Skript für Benutzer ausgeführt werden. Ich muss die Ausgabe in eine Datei umleiten, die ich aus dem Skript (hostname-date) erstelle.Ausgabe in Datei aus Shell-Skript senden

Ich habe alle Teile außer, wie man die Ausgabe des Skripts aus dem gleichen Skript kopiert. Alle Beispiele, die ich finden kann, rufen das Skript und> es in das Protokoll auf, aber das ist keine Option.

-Alex

Antwort

9

Folgendes an der Spitze des Skripts hinzufügen:

exec &> output.txt 

Es wird sowohl stdin und stderr der Befehle in dem Rest Ihres Skript in die Datei output.txt gehen machen.

+0

kann ich das mit Tee verwenden, um es auch an die Konsole zu senden? – Buzkie

+1

StackOverflow rockt! – Bhushan

1

exec in bash können Sie dauerhaft eine FD (sagen wir, stdout) in eine Datei umleiten.

0

Eine Shell, die eine Shell aufruft.

Lassen Sie die erste Shell die Variable (hostname-date) erstellen und rufen Sie die zweite Shell auf, die die Ausgabe in die Datei umleitet.