bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Inconsistence when checking if a pattern is quoted or not for `==' a


From: Greg Wooledge
Subject: Re: Inconsistence when checking if a pattern is quoted or not for `==' and `=~' in [[ ]]
Date: Thu, 17 Feb 2011 10:02:42 -0500
User-agent: Mutt/1.4.2.3i

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

[Prev in Thread] Current Thread [Next in Thread]