在 Bash 中做數字加法
Fumbani Banda
2023年1月30日
本教程展示了使用 expr
、算術擴充套件、bc
和 awk
在 bash 指令碼中數字加法的不同方法。
在 Bash 中使用 expr
進行加法
expr
是一個命令列 Unix 實用程式,用於計算給定表示式並將值列印到標準輸出。expr
可以計算整數或字串表示式,包括模式匹配和正規表示式。expr
使用下面的語法。
$expr expression
要使用 expr
在 bash 指令碼中相加兩個整數,請使用以下任一語法。第一種語法使用引號,而第二種語法使用括號並以美元符號開頭。
total=`expr $num1 + $num2`
total=$(expr $num1 + $num2)
請注意,=
符號前後沒有空格。給變數賦值時沒有空格是內建的 bash 語法。
讓我們編寫一個 bash 指令碼,使用帶引號的 expr
將兩個數字相加。兩個整數 2
和 3
分別分配給變數 num1
和 num2
。兩個變數之和被賦值給 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