GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Klammer In Expr Arithmetik:3 * (2 + 1)?

expr scheint Klammern nicht zu mögen (in der Mathematik verwendet, um die Operatorpriorität explizit zu machen):

expr 3 * (2 + 1)
bash: syntax error near unexpected token `('

Wie drückt man die Operatorpriorität in Bash aus?

Akzeptierte Antwort:

Eine andere Möglichkeit, let zu verwenden bash eingebaut:

$ let a="3 * (2 + 1)"
$ printf '%s\n' "$a"
9

Hinweis

Wie @Stéphane Chazelas betonte, in bash Sie sollten ((...)) verwenden um über expr zu rechnen oder let für die Lesbarkeit.

Verwenden Sie für Portabilität $((...)) like @Bernhard answer.


Linux
  1. 5 nützliche Möglichkeiten, Arithmetik im Linux-Terminal zu machen

  2. Verwenden Sie $[Ausdr] anstelle von $((Ausdr))?

  3. Einzelne Klammer in der Bash-Variablenzuweisung?

  4. BASH:Wie man mit Zahlen in einer Pipe arithmetisch rechnet

  5. Führen Sie den Bash-Befehl auf der Jenkins-Pipeline aus

Bash if..else-Anweisung

Bash-Arrays

Bash Shebang

Bash-printf-Befehl

Assoziatives Array in Bash

Bash-Anfängerserie Nr. 5:Verwenden von arithmetischen Operatoren in Bash-Skripten