[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: |
Pierre Gaston |
Subject: |
Re: Inconsistence when checking if a pattern is quoted or not for `==' and `=~' in [[ ]] |
Date: |
Thu, 17 Feb 2011 16:42:02 +0200 |
=~ \a. matches an a followed by any char
On Thu, Feb 17, 2011 at 4:35 PM, Clark J. Wang <dearvoid@gmail.com> wrote:
> On Thu, Feb 17, 2011 at 9:20 PM, Andreas Schwab <schwab@linux-m68k.org
> >wrote:
>
> > "Clark J. Wang" <dearvoid@gmail.com> writes:
> >
> > > 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.
> >
> > "aa" contains no period, so why should it be matched?
> >
> >
> If it should not be matched why I got 3 printed out?
>
>
> > Andreas.
> >
> > --
> > Andreas Schwab, schwab@linux-m68k.org
> > GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
> > "And now for something completely different."
> >
>
>
>
> --
> Clark
>
== \.a* matches a dot followed by an "a" followed by 0 or more char
=~ \.a* matches a dot followed by 0 or more "a" anywhere in a string
=~ \a. matches an a followed by one char, whatever that char is anywhere in
a string
aa =~ \a\. matches an a followed by a dot anywhere on in string