sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #38578
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!