expr sepertinya tidak menyukai tanda kurung (digunakan dalam matematika untuk prioritas operator eksplisit):
expr 3 * (2 + 1)
bash: syntax error near unexpected token `('
Bagaimana cara mengekspresikan prioritas operator di bash?
Jawaban yang Diterima:
Cara lain untuk menggunakan let bash bawaan:
$ let a="3 * (2 + 1)"
$ printf '%s\n' "$a"
9
Catatan
Seperti yang ditunjukkan oleh @Stéphane Chazelas, di bash anda harus menggunakan ((...)) untuk melakukan aritmatika melalui expr atau let untuk keterbacaan.
Untuk portabilitas, gunakan $((...)) seperti jawaban @Bernhard.