bug-bash
[Top][All Lists]
Advanced

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

Re: $(()): "?:": false "assignment to non-variable"


From: Chet Ramey
Subject: Re: $(()): "?:": false "assignment to non-variable"
Date: Mon, 11 Jul 2022 09:22:25 -0400
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.10.0

On 7/9/22 5:58 PM, Steffen Nurpmeso wrote:
Hey,

sorry to come back, but when banging against ?: implementation
i saw this bash 5.1.16 bug:

   $ bash -c 'I=3; echo "$((1?(I*=I):(I+=I)))";echo $I'

The parens override precedence.

   $ bash -c 'I=3; echo "$((1?(I*=I):I+=I))";echo $I'
   bash: line 1: 1?(I*=I):I+=I: attempted assignment to non-variable (error token is 
"+=I")

The normal rules of precedence apply, and the conditional expression on the
rhs of the `:' can't contain an assignment, since the assignment operator
has higher precedence.


   $ bash -c 'I=3; echo "$((1?I*=I:(I+=I)))";echo $I'

The parens override precedence.


--
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    chet@case.edu    http://tiswww.cwru.edu/~chet/



reply via email to

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