GNU/Linux >> Tutoriales Linux >  >> Linux

Paréntesis en aritmética Expr:3 * (2 + 1)?

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.


Linux
  1. 5 formas útiles de hacer aritmética en la terminal de Linux

  2. ¿Usar $[ Expr ] en lugar de $(( Expr ))?

  3. ¿Paréntesis simple en la asignación de variables Bash?

  4. BASH:cómo realizar operaciones aritméticas con números en una tubería

  5. Expresión aritmética en redirección

Declaración de Bash if..else

Arreglos bash

Bash Shebang

Comando Bash printf

Matriz asociativa en Bash

Bash Beginner Series #5:Uso de operadores aritméticos en Bash Scripting