expr
Zdá se, že nemá rád závorky (používané v matematice k explicitní prioritě operátorů):
expr 3 * (2 + 1)
bash: syntax error near unexpected token `('
Jak vyjádřit prioritu operátora v bash?
Přijatá odpověď:
Další způsob použití let
vestavěný bash:
$ let a="3 * (2 + 1)"
$ printf '%s\n' "$a"
9
Poznámka
Jak zdůraznil @Stéphane Chazelas, v bash
měli byste použít ((...))
dělat aritmetiku přes expr
nebo let
kvůli čitelnosti.
Pro přenositelnost použijte $((...))
jako odpověď @Bernhard.