在 Bash 中做數字加法

Fumbani Banda 2023年1月30日 2022年5月11日
  1. 在 Bash 中使用 expr 進行加法
  2. 在 Bash 中使用算術展開進行加法
  3. 在 Bash 中使用 bc 相加浮點數
  4. 在 Bash 中使用 awk 新增浮點數
在 Bash 中做數字加法

本教程展示了使用 expr、算術擴充套件、bcawk 在 bash 指令碼中數字加法的不同方法。

在 Bash 中使用 expr 進行加法

expr 是一個命令列 Unix 實用程式,用於計算給定表示式並將值列印到標準輸出。expr 可以計算整數或字串表示式,包括模式匹配和正規表示式。expr 使用下面的語法。

$expr expression

要使用 expr 在 bash 指令碼中相加兩個整數,請使用以下任一語法。第一種語法使用引號,而第二種語法使用括號並以美元符號開頭。

total=`expr $num1 + $num2`
total=$(expr $num1 + $num2)

請注意,= 符號前後沒有空格。給變數賦值時沒有空格是內建的 bash 語法。

讓我們編寫一個 bash 指令碼,使用帶引號的 expr 將兩個數字相加。兩個整數 23 分別分配給變數 num1num2。兩個變數之和被賦值給 total 變數,echo 命令用於將 total 變數的值列印到標準輸出。

num1=2
num2=3
total=`expr $num1 + $num2`
echo $total

執行指令碼。

bash add.sh

執行指令碼會給出以下輸出。

5

讓我們還建立一個 bash 指令碼,它使用帶括號的 expr 來新增兩個整數。

num1=2
num2=3
total=$(expr $num1 + $num2)
echo $total

執行指令碼。

bash add.sh

指令碼執行後,會產生以下輸出。

5

在 Bash 中使用算術展開進行加法

Linux 中的算術擴充套件使用內建的 shell 擴充套件來使用括號進行數學計算。以下語法用於算術擴充套件。

$(( arithmentic expression ))

下面的指令碼演示了使用算術擴充套件來新增兩個整數。

num1=2
num2=3
total=$(($num1 + $num2))
echo $total

執行指令碼。

bash add_int.bash

該指令碼產生以下輸出。

5

在 Bash 中使用 bc 相加浮點數

bc 是 Bash Calculator 的縮寫形式。它用於執行浮點算術運算。 -l 選項告訴 bc 使用預定義的數學例程。

num1=1.1
num2=1.4
echo $num1 + $num2 | bc -l

執行指令碼。

bash add_float.sh

執行上面的指令碼會產生以下輸出。

2.5

在 Bash 中使用 awk 新增浮點數

下面的指令碼也可用於使用 awk 命令新增兩個浮點數並將輸出列印到標準輸出。變數 $1 的值是 1.5,變數 $2 的值是 3.3。

echo 1.5 3.3 | awk '{print $1 + $2}'

執行指令碼。

bash add_float.sh

執行上述指令碼會產生以下輸出。

4.8
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

相關文章 - Bash Math