On Wed, Apr 05, 2023 at 01:39:27PM +0200, to...@tuxteam.de wrote: > On Wed, Apr 05, 2023 at 01:37:31PM +0200, Nicolas George wrote: > > Greg Wooledge (12023-04-05): > > > bash has that, too -- you just have to enable it (shopt -s globstar), > > > as it's not enabled by default. > > > > Ah, bash has recursive globbing, that is good to know. It does not have > > glob qualifiers nor temp file process substitution, AFAICS, though. > > It does have <(...), too.
But bash's <(...) is not guaranteed to be any particular thing. Based on the operating system bash was compiled for, it can be a named pipe, or an anonymous pipe (/dev/fd/*), or *conceivably* a temporary file, although I think that's only on platforms like Cygwin that lack FIFOs. The inability to *easily* create and manage a temporary file is pretty annoying sometimes. It's especially annoying because you can observe that the shell already *has* code to create temporary files (it uses them for << and <<< for example), but doesn't let *you* use that code on demand. I believe Nicolas is saying that in zsh, <(...) is ALWAYS a pipe of some kind (perhaps zsh can't be built on Cygwin -- I have no idea), and that =(...) is ALWAYS a temporary file. That kind of guarantee could be useful.