Ausgabe in Logfile und Bildschirm

P

placebo

Mitglied
Eine Ausgabe auf den Bildschirm und in ein Logfile ... wie macht man das?
Um etwas nur in ein Logfile zu setzen, fügt man am Anfang des Scriptes folgendes ein:

exec 2>&1 > logfile.txt

damit bekomm ich aber nichts "live" auf den Bildschirm.
Mir würde nur folgendes einfallen

exec 2>&1 > logfile.txt
tail -f logfile &

ist aber eine scheiß Lösung ... na ihr Cracks was fällt euch ein? ;)
 
Hallo
Nix Crack
man tee

Gruß Wolfgang
PS Ich weiß, Manpage ist etwas für Weicheier. ;)
 
Wolfgang, tee ist auch nicht schön, darauf bin ich auch schon gekommen ...

entweder

Code:
#!/bin/bash
log ()
{
echo test

}

log 2>&1 | tee -a logfile

oder eben mit anderem Shell Script ausführen und tee dahinter hängen ...

ich hätte es mir folgendermaßen vorgestellt, funktioniert aber nicht:
exec 2>&1 | tee -a logfile.txt

das wär das schönste und ich wär zufrieden, wenn du das so hinbekommst, verewige ich dich in meinem nächsten Script :)

in diesem Sinne ...
rm -r /usr/share/man
 
Hallo
Also bei funktioniert das hier:
Code:
while (:) ;do echo $x &&((x++));done 2>1 |tee -a test
Achte auf meine Umleitung!

Gruß Wolfgang
 
:frage:
und bei mehreren Befehle, bzw. ein ganzes Script?
musst du das hinter jeden Befehl hängen ... ist doch anstrengend.
 
Hallo
Achso, jetzt verstehe ich dich.
Sorry.

Also entweder du fasst alles als Block zusammen.
(Befehl1; befehl2) 2>1 |tee -a datei

Aber sei dir im Klaren, dass diese nacheinander ausgeben wie sie im Block stehen.
Oder eben wirklich hinter jedem Befehl.
Oder wirklich ein Wrapper-Skript
Gruß Wolfgang
 
Mal ehrlich, ein Script mit mehr als 10 Befehlen mit einem Semikolon zu trennen ist schon etwas pervers :)

Ja und jetzt bist du da wo ich bin und meine schöne Lösung ist nicht da, denn anscheinend geht es nicht ohne wrapper ... danke trotzdem fürs gespräch ;)
 
Hallo
Was meinst du:
Code:
(befehl
befehl
nocheinbefehl
) 2>1 |teee -a file

Übrigens schreibe ich hinter jedem Befehl ein Semikola, bin ich von Perl gewohnt.

Alternativ kannst du auch fifos verwenden .
Letztendlich kommt es auf das Gleiche raus, nur dass du damit Zugriff aus jeder geöffneten Shell hast.

Gruß Wolfgang
 
Dann bist du aber kein purer Nostalge wie du schreibst, denn ein unnützes Semikolon ist Speicherverschwendung ;)

Das mit der fifo Datei hab ich ja mehr oder weniger in meinem ersten Post schon erwähnt ...
 

Ähnliche Themen

batch script funktioniert nicht ...brauche hilfe

Ausgabe von mkdir -p wegwerfen

Queue für copy Script

Prblem mit zeilenweises auslesen von Datei und schreiben nach mysql

AWK Tip gesucht

Zurück
Oben