Shell入門(六)之算術運算

2021-08-11 08:07:25 字數 1424 閱讀 7984

一、數**算

(1)原生bash不支援簡單的數**算,但是可以通過其他命令來實現,例如 awk 和 expr,expr 最常用。

(2)expr 是一款表示式計算工具,使用它能完成表示式的求值操作。 

`expr n op m`

表示式和運算子之間要有空格,例如 1+1 是不對的,必須寫成 1 + 1,這與我們熟悉的大多數程式語言不一樣。完整的表示式要被 ` ` 包含,注意這個字元不是常用的單引號,在 esc 鍵下邊。

(3)使用$[expression]

如$[1+2*3]

(4)使用$((expression))

如:$(($a+1))

a=10

b=20

運算子說明舉例+

加法`expr $a + $b` 結果為 30。-減法

`expr $a - $b` 結果為 -10。*乘法

`expr $a \* $b` 結果為  200。/除法

`expr $b / $a` 結果為 2。%取餘

`expr $b % $a` 結果為 0。=賦值

a=$b 將把變數 b 的值賦給 a。

==相等。用於比較兩個數字,相同則返回 true。

[ $a == $b ] 返回 false。

!=不相等。用於比較兩個數字,不相同則返回 true。

[ $a != $b ] 返回 true。

注意:*必須寫成\*,條件表示式要放在方括號之間,並且要有空格,例如:[$a==$b]是錯誤的,必須寫成[ $a == $b ]

#!/bin/bash

a=$[ 10 + 10*2

]b=$((10*2

))echo

"a+b :

"`expr $a +$b`

echo

"a-b :

"`expr $a -$b`

echo

"a*b :

"`expr $a \*$b`

echo

"a/b :

"`expr $a /$b`

echo

"a%b :

"`expr $a %$b`

a=$b

echo

"a=b :"$a

if [ $a ==$b ]

then

echo

"a==b:true

"else

echo

"a==b:false"fi

if [ $a !=$b ]

then

echo

"a!=b:true

"else

echo

"a!=b:false

"fi

指令碼入門之算術運算

如何在shell 指令碼中進行算術運算?首先說明一點 在shell 中不支援浮點數 計算結果中的浮點數會被圓整為整數 1.23 1 1.99 1。運算型別 算術運算的實現方式 expression 運算方式 expression 例 echo a b expression 例 a b let exp...

Linux之Shell的算術運算

在bash的算術運算中有以下幾種方法 名稱 語法 範例 算術擴充套件 算術式 r 1 2 3 使用外部程式expr expr 算術式 r expr 1 2 3 使用 算術式 r 1 2 使用內建命令 declare i 變數 算術式 declare i r 1 2 3 使用內建命令let let 算...

Linux之Shell的算術運算

在bash的算術運算中有以下幾種方法 名稱 語法 範例 算術擴充套件 算術式 r 算術式 r 1 2 3 使用外部程式expr expr 算術式 r expr 1 2 3 使用 算術式 r 1 2 使用內建命令 declare i 變數 算術式 declare i r 1 2 3 使用內建命令let...