GNU/Linux >> Linux Esercitazione >  >> Linux

Parentesi nell'aritmetica espr:3 * (2 + 1)?

expr non sembra piacere la parentesi (usata in matematica per esplicitare la priorità dell'operatore):

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

Come esprimere la priorità dell'operatore in bash?

Risposta accettata:

Un altro modo per usare let bash integrato:

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

Nota

Come ha sottolineato @Stéphane Chazelas, in bash dovresti usare ((...)) fare aritmetica su expr o let per la leggibilità.

Per la portabilità, usa $((...)) come la risposta di @Bernhard.


Linux
  1. 5 modi utili per fare aritmetica nel terminale Linux

  2. Utilizzare $[ Espr ] invece di $(( Espr ))?

  3. BASH:come eseguire operazioni aritmetiche sui numeri in una pipe

  4. Esegui il comando bash sulla pipeline jenkins

  5. Espressione aritmetica nel reindirizzamento

Bash if..else Statement

Matrici Bash

Bash Shebang

Comando Bash printf

Matrice associativa in Bash

Bash Beginner Series #5:Utilizzo di operatori aritmetici negli script Bash