tag 28461 notabug
stop

Hello,

On 2017-09-14 11:43 AM, Eric Mariaud wrote:
> eric@Eric-Xub:~/Bureau$ expr 2 + 3
> 5
> eric@Eric-Xub:~/Bureau$ expr 2 * 3
> expr: erreur de syntaxe

The asterisks ( * ) character has special meaning on the shell,
which you can observe by comparing the output of:

    echo 2 + 3
vs
    echo 2 * 3

Technically, the shell replaces the '*' character with the list of
all files in the current directory. The 'expr' program never sees it.

Add single-quotes around the '*' character to send it as-is to 'expr':

    $ expr 2 '*' 3
    6

Alternatively,
Most modern shells support built-in basic arithmetic using
the '$(())' syntax (dollar-sign and two parentheses):

    $ echo $((2*3))
    6


As such, I'm marking this as not-a-bug, but discussion can continue by
replying to this thread.

regards,
 - assaf




Reply via email to