On Sat, May 18, 2024, 04:54 Zachary Santer <zsan...@gmail.com> wrote:
> Was «difference between read -u fd and read <&"$fd"» on help-b...@gnu.org > > On Thu, May 16, 2024 at 12:51 AM Kerin Millar <k...@plushkava.net> wrote: > > > > On Thu, 16 May 2024, at 3:25 AM, Peng Yu wrote: > > > Hi, > > > > > > It appears to me that read -u fd and read <&"$fd" achieve the same > > > result. But I may miss corner cases when they may be different. > > > > > > Is it true that they are exactly the same? > > > > They are not exactly the same. To write read -u fd is to instruct the > read builtin to read directly from the specified file descriptor. To write > read <&"$fd" entails one invocation of the dup2 syscall to duplicate the > specified file descriptor to file descriptor #0 and another invocation to > restore it once read has concluded. That's measurably slower where looping > over read. > > So here's another tangent, but has it been considered to add an option > to the printf builtin to print to a given file descriptor, rather than > stdout? If printing to a number of different file descriptors in > succession, such an option would appear to have all the same benefits > as read's -u option. > id like a printf -u Zack > >