expr parece que no le gustan los paréntesis (usados en matemáticas para explicitar la prioridad del operador):
expr 3 * (2 + 1)
bash: syntax error near unexpected token `('
 ¿Cómo expresar la prioridad del operador en bash?
Respuesta aceptada:
 Otra forma de usar let bash integrado:
$ let a="3 * (2 + 1)"
$ printf '%s\n' "$a"
9
 Nota
 Como señaló @Stéphane Chazelas, en bash deberías usar ((...)) hacer aritmética sobre expr o let para la legibilidad.
 Para la portabilidad, use $((...)) como la respuesta de @Bernhard.