On Thu, Feb 17, 2011 at 10:56:21PM +0800, Clark J. Wang wrote:
> The point is: ``Any part of the pattern may be quoted to force  it  to  be
> matched  as  a string.'' And backslash is one of bash's quoting chars. But
> in my examples, a pattern with `\' in it sometimes is considered to be
> quoted and sometimes unquoted. It's not clear to me what's the exact rule to
> tell if a pattern is quoted or not.

Your life will be greatly simplified if you observe the following rule of
thumb for =~ matching:

  ALWAYS put the pattern into a variable.

r='whatever you want'
if [[ $foo =~ $r ]]; then ...

This works around the behavior change that occurred during the 3.x series,
as well as all your quoting concerns and questions.

Reply via email to