sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #24915
Re: Hardcore (ba)sh spørgsmål.
On 14 Jul 2000, Jesper K. Pedersen wrote:
> Hej.
>
> Her kommer lige et (ba)sh spørgsmål, som jeg ikke selv kan gennemskue....
>
> hvis jeg ønkser stdout og stderr redirected ud i separate filer, så kan jeg
> gøre følgende:
>
> cmd 2> /tmp/stderr > /tmp/stdout
>
> Hvis jeg ønsker at se output samtidig med at det ryger i en fil, så kan jeg
> gøre følgende:
> cmd | tee /tmp/output
>
> Men hvad gør jeg hvis jeg gerne vil se output mens programmet kører og
> samtidig gerne vil have splittet stdout og stderr ud i hver sin fil?
Følgende burde gøre dette. Der bruges process redirection, som du kan læse
om i man bash. Dette er _ikke_ sh. Virker kun under bash, AFAIK.
cmd 2> >(tee /tmp/stderr) > >(tee /tmp/stdout)
>() opretter en fifo, som kommandoen læser fra. Rækkefølgen 2> > er af en
eller anden årsag vigtig.
Bemærk at tee er buffered, og der kan være lidt fnidder med rækkefølgen af
linierne.
Jeg finder det iøvrigt mærkværdigt at der ikke er en | på stderr, ala 2|,
men det har nok alle mulige syntaks/parse årsager.
Mads
--
Mads Bondo Dydensborg. madsdyd@xxxxxxxxxxxx
'Open Systems' means no fences. And no fences means no use for Gates.
- Sun Microsystems
Follow ups
References