> > > . and .. are excluded from @(?|.?) in > > bash 4.2.46(2)-release (CentOS 7.8), but are included in > > bash 4.4.19(1)-release (CentOS 8.2) and > > bash 5.0.17(1)-release (Ubuntu 20.04/focal). >
According to the manual, "[t]he filenames ‘.’ and ‘..’ must always be >> matched explicitly even if dotglob is set." I don't see any subsequent >> text that overrules this for extended globs. >> https://www.gnu.org/software/bash/manual/html_node/Filename-Expansion.html >> >> vq >> >> > Indeed, nor should you... @(?|.?) should never ignore '..', owing to the > presence of the .? pattern which explictly matches... > > -- > Kerin Millar > > you're calling .. an explicit match to .? i'd interpret explicit match to mean .. wouldn't match anything other than itself (notwithstanding it's been otherwise for over a decade) > but that's a bit askew from what actually interests me. if i had > > my druthers, there would be an option to set so . and .. would never > match > > any (sub)glob other than their literal selves (even with dotglob set). > > As Kerin Millar said, you can use GLOBIGNORE for this. > indeed that's exactly what i was looking for, thank you lawrence, kerin, and chet