expr
non sembra piacere la parentesi (usata in matematica per esplicitare la priorità dell'operatore):
expr 3 * (2 + 1)
bash: syntax error near unexpected token `('
Come esprimere la priorità dell'operatore in bash?
Risposta accettata:
Un altro modo per usare let
bash integrato:
$ let a="3 * (2 + 1)"
$ printf '%s\n' "$a"
9
Nota
Come ha sottolineato @Stéphane Chazelas, in bash
dovresti usare ((...))
fare aritmetica su expr
o let
per la leggibilità.
Per la portabilità, usa $((...))
come la risposta di @Bernhard.