Date: Tue, 27 May 1997 18:46:10 -0800 (AKDT) From: Steve Howe <un_x@anchorage.net> To: Zahemszky Gabor <zgabor@CoDe.hu> Cc: freebsd-questions <questions@freebsd.org> Subject: Re: What command line to redirect 'make world' warnings ? Message-ID: <Pine.BSF.3.95q.970527173802.1668B-100000@aak.anchorage.net> In-Reply-To: <199705270909.LAA00404@CoDe.hu>
index | next in thread | previous in thread | raw e-mail
ouch! you are hurting my brains! :)
i notice the sh man page says nothing about this stuff ...
and i also notice that the shell newsgroup is appears "dead".
> because redirection occures (most of the times) from left to right.
ok.
> > make world 2>&1 > /proxy/world3
stdout to tty
stderr to tty
redirection 2>&1
stderr to stdout (tty)
redirection > file
stdout to file
got it! i think this is an easy mistake to make, since one would assume
if a stderr is duplicated on stdout, then any redirection of stdout would
also apply to stderr.
> make world > /proxy/world3 2>&1
stdout to tty
stderr to tty
redirection > file
stdout to file
redirection 2>&1
stderr to stdout (file)
got it. i notice "make world > 2>&1 /proxy/world3" is an error,
but "make world 2>&1 > /proxy/world3" is not! (sh)
i can't make sense out of this. it seems to me they shoud either BOTH
be errors, or BOTH be functional. ???
> RTMF! from bash manual:
Read The Manual xxxxhead! ??? hehe!
> ls > dirlist 2>&1
stdout to tty
stderr to tty
redirection > file
stdout to file
redirection 2>&1
stderr to stdout (file)
> ls 2>&1 > dirlist
stdout to tty
stderr to tty
redirection 2>&1
stderr to stdout
redirection > file
stdout to file
> &>word
> and
> >&word
>
> Of the two forms, the first is preferred.
> This is semantically equivalent to
>
> >word 2>&1
>
> This type of redirection is working only in bash ...
so with bash one could say:
make world 2&>1 /proxy/world3
and get the desired effect, correct? (i don't have bash ...)
> ( make world 2>&1 >> /proxy/world3 ) > /proxy/world3
in a subshell:
stdout to tty
stderr to tty
redirection 2>&1
stderr to stdout
stdout >> file
end subshell.
--------------
redirection > file
stdout (subshell stderr) > file
got it!
> { make world 2>&1 >> /proxy/world3 ; } > /proxy/world3
same thing with grouping instead of subshell spawning.
> and you have to use append ( >> ) inside. Well, why? It's your exercise.
hmmm. in sh, ">" inside works as well ... ???
> Bye, Gabor
-------------------------------------------------------------------------
Sleep: a sign a caffeine deprivation ... http://www.anchorage.net/~un_x
-------------------------------------------------------------------------
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95q.970527173802.1668B-100000>
