Thanks for your response.
In my opinion, in let "<>" and $((<>)) constructs all variables should be
evaluated, so that $-sign for them is to be  just optional

On Tue, Sep 19, 2023 at 2:28 AM Chet Ramey <chet.ra...@case.edu> wrote:

> On 9/17/23 3:59 PM, Victor Pasko wrote:
> > Hi,
> >
> > Could you please take a look at attached bug.bash.
> >
> > Maybe, not all math combinations were presented there or the test has
> > duplications somehow.
> > Here are results of several runs with test# as argument
>
> All the examples use the base#number syntax, where `base' is a (decimal)
> number and `number' is an integer constant in that arithmetic base.
>
> The issues seem to be misunderstandings and unwarranted expectations.
> Several of the test cases use (literal) base10#number, which is an obvious
> error -- the base is a number and doesn't include the word `base'. Others
> seem to assume that the number, which is an integer constant, can include
> non-digits that are out of range for the current base.
>
> For instance, when the base is, say, 32, you can use `res1' as an integer
> constant, because those are all valid in base 32, which uses
> 0123456789abcdefghiklmnopqrstuv as `digits' (if I've counted right). In
> base 10, those are invalid.
>
> There's also some confusion about word expansion. The arguments to `let'
> and the words between $(( and )) undergo the word expansions documented
> in the man page under `Arithmetic Expansion' before the expression goes
> to the arithmetic evaluator. This means that something like `$base10#$res1'
> will expand to a word with the current values of the shell variables
> `base10' and `res1' (e.g., `10#010') before the arithmetic evaluator is
> invoked.
>
> --
> ``The lyf so short, the craft so long to lerne.'' - Chaucer
>                  ``Ars longa, vita brevis'' - Hippocrates
> Chet Ramey, UTech, CWRU    c...@case.edu    http://tiswww.cwru.edu/~chet/
>
>

-- 

-- PSK

Reply via email to