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