On Thu, Feb 17, 2011 at 11:02 PM, Greg Wooledge <wool...@eeg.ccf.org> wrote:

> 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.
>

I really know that's the best practice. I just want to make it clear if bash
itself is doing right.

Reply via email to