GNU/Linux >> Linux の 問題 >  >> Linux

Expr算術の括弧:3 *(2 + 1)?

expr 括弧が好きではないようです(数学で演算子の優先順位を明示するために使用されます):

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

オペレーターの優先順位をbashで表現する方法は?

承認された回答:

letを使用する別の方法 bashビルトイン:

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

@StéphaneChazelasが指摘したように、bash ((...))を使用する必要があります exprに対して算術演算を行う またはlet 読みやすさのために。

移植性のために、$((...))を使用してください @Bernhardの答えのように。


Linux
  1. Linuxターミナルで算術演算を行うための5つの便利な方法

  2. jenkins パイプラインで bash コマンドを実行する

  3. リダイレクトの算術式

  1. $((Expr))の代わりに$ [Expr]を使用しますか?

  2. Bash変数代入の単一括弧?

  3. BASH:パイプ内の数値に対して算術演算を実行する方法

  1. Bashエクスポート変数

  2. Bash数学演算(Bash算術)の説明

  3. Bash待機コマンド