Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #15578

Re: quote removal issues within character class

From Robert Elz <kre@munnari.OZ.AU>
Newsgroups gnu.bash.bug
Subject Re: quote removal issues within character class
Date 2019-11-09 06:52 +0700
Message-ID <mailman.1053.1573257332.13325.bug-bash@gnu.org> (permalink)
References <CAH7i3LrZFvJ1ELJzTdQzF1tTqhi9FDrA7xWWYWrd4RgWJs0Wtg@mail.gmail.com> <16736.1573257142@jinx.noi.kre.to>

Show all headers | View raw


    Date:        Sat, 9 Nov 2019 00:50:52 +0300
    From:        =?UTF-8?B?T8SfdXo=?= <oguzismailuysal@gmail.com>
    Message-ID:  <CAH7i3LrZFvJ1ELJzTdQzF1tTqhi9FDrA7xWWYWrd4RgWJs0Wtg@mail.gmail.com>

These two

  | v=foo
  | echo ${v#[[:"lower":]]}

  | case foo in (*[![:"lower":]]*) echo bar; esac

are because bash believes that the character class name must not
be quoted (which is likely to be clarified to be incorrect in the
next revision of posix).

This one

  | case foo in (*[![":lower":]]*) echo bar; esac

is correct, as "foo" does not contain a ']' which would be required
to match there (quoting the ':' means there is no character class,
hence we have instead (the negation of) a char class containing '[' ':'
'l' 'o' 'w' 'e' ';r' (and ':' again), preceded by anything, and
followed by ']' and anything.   foo does not match. f]oo would.

kre

Back to gnu.bash.bug | Previous | Next | Find similar | Unroll thread


Thread

Re: quote removal issues within character class Robert Elz <kre@munnari.OZ.AU> - 2019-11-09 06:52 +0700

csiph-web