On 2012-08-24 16:34, Chet Ramey wrote:
On Fri, Aug 24, 2012 at 10:01:32AM -0400, Chet Ramey wrote:
> On 8/24/12 8:54 AM, Michal Soltys wrote:
> > In case of single '=' operator used in [[ <expression> ]], rhs argument
> > was treated as a pattern. Only == and != should treat rhs argument as a
> > pattern, so this patch fixes it.
>
> Incorrect; `=' and `==' are identical.

Perhaps he is assuming the man page is exhaustive.  The section for the
[[ command only mentions the == and != operators:

Maybe.  The `CONDITIONAL EXPRESSIONS' section makes it clear they're identical.


This section only mentions string comparisons - nothing related to pattern matching or regex is mentioned there. It would also imply that [ $a = $b ] and [[ $a = $b ]] are identical, and it's clearly not the case. The differences between [ and [[ are in earlier "Compound Commands" and "rhs argument is pattern" feature is only mentioned for == and !=.

Anyway, maybe some small patch against bash.1 then to avoid confusion ?

Namely: mention different interpretation of '=' in "Compound Commands" and - in 'CONDITIONAL EXPRESSIONS' - refer to that part for [ and [[ differences ?


Reply via email to