Amar
September 14, 2012, 11:24am
1
jedno kratko pitanje:
hocu da mi STDOUT neke komande se ne prikazuje na ekranu a da se STDERR prikaze na ekrenu i paralelno ode u logfile
$ komanda > /dev/null 2>&1 | tee logfile.log
ne daje zeljene rezultate jer logfile.log ostaje prazan.
Ima li neko ideju?
adioe3
September 14, 2012, 11:59am
2
Cisto da se zna, nisam ja ovolko pametan: [url]http://unix.stackexchange.com/questions/9646/show-only-stderr-on-screen-but-write-both-stdout-and-stderr-to-file[/url]
Cisto da se zna, nisam ja ovolko pametan: http://unix.stackexchange.com/questions/9646/show-only-stderr-on-screen-but-write-both-stdout-and-stderr-to-file
Amar
September 14, 2012, 12:23pm
3
ha rodila majka
fala
EDIT:
hmm, ovo je sub-optimalno
naime, ako je komanda uspjesna i nema errora, zapisace i STDOUT u log file. Sto je pu kaka.
adis
September 14, 2012, 1:20pm
4
Može li ovo ili neka varijacija?
CMD > >(tee -a LOG_FILE) 2>&1
originalna ideja je od exec komande, gdje želiš da ostatak skripte piše u log file, uz pisanje na stderr ili stdout
exec > >(tee -a LOG_FILE)
ili
exec 2> >(tee -a LOG_FILE)
Amar
September 14, 2012, 1:23pm
5
[quote=adis]Može li ovo ili neka varijacija?
CMD > >(tee -a LOG_FILE) 2>&1
[/quote]
Isto problem kao i adioe3 rjesenje, pise STDOUT i u log file kada je komanda uspjesna.
I dodatno, pise STDOUT i na ekran
adis
September 14, 2012, 1:27pm
6
Osvježio sam odgovor iznad, možda dobiješ ideju
Amar
September 14, 2012, 1:32pm
8
ovo radi:
$ komanda 2> >(tee -a logfile.log) 1>/dev/null
Kao i ovo sto je @Asm1r predlozio