GNU/Linux >> Tutoriels Linux >  >> Linux

Parenthèse dans Expr Arithmétique :3 * (2 + 1) ?

expr ne semble pas aimer les parenthèses (utilisées en mathématiques pour exprimer la priorité des opérateurs) :

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

Comment exprimer la priorité de l'opérateur en bash ?

Réponse acceptée :

Une autre façon d'utiliser let bash intégré :

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

Remarque

Comme l'a souligné @Stéphane Chazelas, dans bash vous devez utiliser ((...)) faire de l'arithmétique sur expr ou let pour la lisibilité.

Pour la portabilité, utilisez $((...)) comme la réponse de @Bernhard.


Linux
  1. 5 façons utiles de faire de l'arithmétique dans un terminal Linux

  2. Utiliser $[Expr] au lieu de $((Expr)) ?

  3. BASH :comment effectuer de l'arithmétique sur des nombres dans un tube

  4. Exécutez la commande bash sur le pipeline jenkins

  5. Expression arithmétique dans la redirection

Instruction Bash if..else

Tableaux bash

Bash Shebang

Commande Bash printf

Tableau associatif dans Bash

Bash Beginner Series #5 :Utilisation des opérateurs arithmétiques dans les scripts Bash