← Back to team overview

sslug-teknik team mailing list archive

RE: Output ned i en fil !

 

Dette er korrekt for sh og dens efterkommere (ksh, zsh, bash). Men det kan
ikke bruges fra medlemmer af csh familien (tcsh), idet de ikke tillader
redirect af stderr :-(

Der er iovrigt en finte man skal vaere opmaerksom paa ved den slags.
Raekkefoelgen af redirects paa kommandolinien er af betydning. F. eks.
fungerer

  bash$ ls -lR / >logfile 2>&1

anderledes end

  bash$ ls -lR / 2>&1 >logfile

Den interesserede laeser kan saa proeve at regne forskellen ud ;-)

Kurt Alstrup

Spoiler:
 Shell'en bruger dup2() i '>&' operatoren, saa i det det foerste eksempel
redirigeres foerst stdout til en fil, hvorefter haandtaget til filen
"dup"likeres til stderr (som dermed ogsaa ryger ned i filen). I det andet
eksempel "dup"likeres foerst stdout over i stderr og dernaest redirigeres
stdout til en fil (stderr ryger hermed ikke ned i filen, men til hvad stdout
pegede paa foer "dup"likeringen.


-----Original Message-----
From: Erling Jacobsen [mailto:linuxcub@xxxxxxxx]
Sent: Monday, June 18, 2001 10:52 AM
To: sslug-teknik@xxxxxxxx
Subject: Re: [TEKNIK] Output ned i en fil !


Johnny Ernst Nielsen wrote:
> stdout har også nummeret 1, så man kan skrive kommando 1> fil, hvis
> standardnotationen af en eller anden årsag ikke virker.

Og ofte vil man også have fejlmeddelelserne med (som bliver
skrevet til stderr, som har nr. 2):

make 2>&1 | tee logfil

"|" sørger for at stdout bliver pipe't over i tee-programmet,
"2>&1" sørger for at stderr ryger hen samme sted som stdout.

Erling
-- 
Standards are crucial.  And the best thing about standards is: there are
so ____many to choose from!