sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #83721
Re: Usædvanlig(?) omdirigering af uddata
sparre@xxxxxx (Jacob Sparre Andersen) writes:
> Jørgen Heesche skrev:
>
>> OK, du kunne gøre sådan:
>> shell-script 1> std.out 2> std.err
>> Og så åbne en anden x-terminal og følge med ved hjælp af tail:
>> tail -f std.err
>
> Det er ikke en eksplicit del af Henriks specifikation, men sådan som jeg
> har forstået den, så ville han ikke bare have »stdout« og »stderr«
> samlet i samme fil, men helst også i den rækkefølge tingene blev
> skreveet i.
Det er korrekt, men jeg er i tvivl om i hvor høj grad det krav kan
opfyldes.
Jeg har følgende lille perl-program:
#! /usr/bin/perl
use warnings;
use strict;
print STDERR "err1\n";
print STDOUT "ud1\n";
print STDERR "err2\n";
print STDOUT "ud2\n";
Når jeg kører det normalt kommer de fire tekster på skærmen i den
rækkefølge de står i koden. Det gør de også hvis jeg tilføjer '2>&1' til
kommandolinien, men hvis jeg tilføjer '2>&1 | tee fil' kommer de to
err-tekster først både på skærmen og i filen. Eftersom tee får det hele
på stdin kan den ikke være skyld i omordningen (jeg antager at jeg ikke
har haft besøg af en cracker der har udskiftet min tee med en version
der sorterer uddata), altså kan vi konstatere at '2>&1'-konstruktionen
ikke er stabil?
.Henrik
--
Ja selvfølgelig. I forventer vel ikke jeg skal give præcise utvetydige
oplysninger, vel? Det er det man har Makholm til.
-- Hanne Munkholm
Follow ups
References