Chet, thanks for the clarification

So the answer is - this is by design, i.e. as soon as you use a variable
for the FD, you are responsible of managing it for the duration of its life.

Knowing this makes it much more "reliable" to use ;-)  I also could not
find the relevant info on the list / web, so I was really starting to think
this was a bug.  Maybe the "REDIRECTION" section of the BASH man page would
be a good spot to mention this?

Thanks to all for answering my questions,

Math.


On Thu, Jan 28, 2016 at 1:33 PM, Chet Ramey <chet.ra...@case.edu> wrote:

> On 1/27/16 1:18 PM, Mathieu Patenaude wrote:
> > Hi,
> >
> > When using "named" file descriptors inside a function, the file
> descriptors
> > are not automatically un-linked when the function returns, but when using
> > regular "numbered" file descriptors they are automatically "destroyed".
>
> Yes.  That's the intent.  The idea is that if you assign a variable, you
> have a `handle' on the file descriptor and can manage it yourself.  It's
> closer to how open(2) works: the system selects a descriptor and tells you
> what it is, and it's up to you to track it from there.
>
> In that sense, variables assigned by redirections are similar to how
> `exec' makes redirections persist beyond a single command.
>
> (I thought this had come up before, but I couldn't find that particular
> discussion.)
>
> Chet
>
> --
> ``The lyf so short, the craft so long to lerne.'' - Chaucer
>                  ``Ars longa, vita brevis'' - Hippocrates
> Chet Ramey, ITS, CWRU    c...@case.edu
> http://cnswww.cns.cwru.edu/~chet/
>

Reply via email to