Re: Redirection to stderr
- Date: Mon, 10 Jul 2017 20:42:42 +0200
- From: Hans-Bernhard Bröker <HBBroeker@xxxxxxxxxxx>
- Subject: Re: Redirection to stderr
Am 10.07.2017 um 14:01 schrieb cygwin-mailinglist:
On Mon, July 10, 2017 12:33, Marco Atzeri wrote:
Redirecting something on itself it is not guarantee to work.
I'm not sure it is on itself. Are these not two different streams?
When "some-cmd 2> /dev/stderr" is interpreted by the shell I would expect
that /dev/stderr points to a pipe or terminal *of that shell*. The fd 2 in
"2>", on the other hand, should be the standard error stream *of
And what did you think that file descriptor of some-cmd would have been
without that redirection? I.e. where would some-cmd have got its stderr
stream from? The answer is: the shell will pass on a dup()licate of its
own stderr channel, which in turn is identical to /dev/stderr.
I.e. what that contraption would do, if it worked, would be a no-op.
The redirection plugs the two together. Similar reasoning
applies to the outer layers of the redirection onion. Each process has a
/dev/stderr which stays (or, rather, should stay) valid until that process
Not really. Processes _can_ close their std streams, if they want.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple