GNU/Linux >> Belajar Linux >  >> Linux

Tanda kurung Dalam Expr Aritmatika:3 * (2 + 1)?

expr sepertinya tidak menyukai tanda kurung (digunakan dalam matematika untuk prioritas operator eksplisit):

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

Bagaimana cara mengekspresikan prioritas operator di bash?

Jawaban yang Diterima:

Cara lain untuk menggunakan let bash bawaan:

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

Catatan

Seperti yang ditunjukkan oleh @Stéphane Chazelas, di bash anda harus menggunakan ((...)) untuk melakukan aritmatika melalui expr atau let untuk keterbacaan.

Untuk portabilitas, gunakan $((...)) seperti jawaban @Bernhard.


Linux
  1. 5 Cara Berguna untuk Melakukan Aritmatika di Terminal Linux

  2. Gunakan $[ Ekspr ] Alih-alih $(( Ekspr ))?

  3. Kurung Tunggal Dalam Penugasan Variabel Bash?

  1. BASH:cara melakukan aritmatika pada angka dalam pipa

  2. Jalankan perintah bash pada pipa jenkins

  3. Ekspresi aritmatika dalam pengalihan

  1. Variabel Ekspor Bash

  2. Operasi Matematika Bash (Aritmatika Bash) Dijelaskan

  3. Perintah tunggu bash