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.