Rhialto <rhia...@falu.nl> wrote: > On Mon 25 Jun 2018 at 01:58:25 +0700, Robert Elz wrote: >> Date: Sun, 24 Jun 2018 19:09:58 +0200 >> From: Rhialto <rhia...@falu.nl> >> Message-ID: <20180624170958.gj8...@falu.nl> >> >> | Are we to assume that NetBSD's sh(1) manual page is correct? >> >> Well, yes and no... >> >> | Since that clearly says that your example above should not match. >> >> Actually, it doesn't - it just kind of slides by this case... That is, it >> makes no mention of what happens if characters inside [ ] are >> quoted (partly because I don't much like the quoting solution, >> and never thought the ordering method was hard to get right...) > > Well, I don't entirely agree. The description of patterns starts with > (sh(1) from NetBSD-7) > > Shell Patterns > A pattern consists of normal characters, which match themselves, and > meta-characters. The meta-characters are ``!'', ``*'', ``?'', and ``[''. > These characters lose their special meanings if they are quoted. When > > so I would conclude that '-' cannot lose its meaning if quoted, since it > is not a meta-character. > > Added to that, that it gives some other way to include a literal '-' in > a character class, reinforces the impression that [a\-z] does not have a > quoted '-' in it. So while it doesn't explicitly say it, it leaves > little room for a different interpretation. > > (All this of course apart from how things actually worked; and I > actually never realised that they didn't work like I interpret the text > here) > >> The man page shouild probably be fixed to be more precise - there >> are all kinds of details it omits. > > Definitely!
There's glob(7) that talks about quoting explicitly, unlike sh(1) or glob(3). glob(3) talks about quoting in passing when discussing GLOB_NOESCAPE. -uwe