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: Clark J. Wang
Subject: Re: Inconsistence when checking if a pattern is quoted or not for `==' and `=~' in [[ ]]
Date: Thu, 17 Feb 2011 22:56:21 +0800

On Thu, Feb 17, 2011 at 7:09 PM, Clark J. Wang <dearvoid@gmail.com> wrote:

> See following script output:
>
> bash-4.2# cat quoted-pattern.sh
> [[ .a == \.a* ]] && echo 1  # not quoted
> [[ aa =~ \.a* ]] && echo 2  # quoted
>
> [[ aa =~ \a.  ]] && echo 3  # not quoted
> [[ aa =~ \a\. ]] && echo 4  # quoted
> bash-4.2# bash42 quoted-pattern.sh
> 1
> 3
> bash-4.2#
>
> From my understanding 1 2 3 4 should all be printed out.
>
>
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.


> --
> Clark
>
>


reply via email to

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