On 4/11/18 10:32 AM, Greg Wooledge wrote: > On Wed, Apr 11, 2018 at 10:21:03AM -0400, Chet Ramey wrote: >> On 4/11/18 12:21 AM, Murukesh Mohanan wrote: >>> This has come up in the past, and was somewhat resolved (< >>> http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00097.html>), but >>> bash's behaviour is still a but surprising IMHO. While globstar doesn't >>> descend further into symlinks, symlinked directories are selected as a >>> candidate for matches to ** itself. But zsh doesn't do this: >> >> Before I look at this, note that this doesn't demonstrate anything: you >> haven't enabled the `globstar' option, so `**' isn't treated specially. >> >>> $ bash -c '(d=$(mktemp -d); cd "$d"; mkdir a; ln -s a b; touch a/a.c c.c; >>> echo **/*.c; cd ..; rm -r "$d")' >>> a/a.c b/a.c > > Here's a possibly more useful demonstration: > > wooledg:~$ mkdir /tmp/x; cd /tmp/x > wooledg:/tmp/x$ mkdir dir; ln -s dir link; touch dir/file > wooledg:/tmp/x$ shopt -s globstar > wooledg:/tmp/x$ echo ** > dir dir/file link > wooledg:/tmp/x$ echo **/file > dir/file link/file > > I think the complaint is about the handling of "**/file" here.
Yep, that's an incompatibility. The `c.c' thing in the original report is just a red herring, though. Chet -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU c...@case.edu http://tiswww.cwru.edu/~chet/